有时我的应用程序在更新 recyclerView 行中上传视频的进度时崩溃了 -Android
Some time my app crashed while updating progress of uploading video in recyclerView row -Android
我正在上传一个视频并在 recyclerview
中显示进度,我们可以上传多个视频并单独显示他们的进度 如果我们更改页面或移动进入 app 上传应该继续(而不是停止)。
出现问题 - 在 recyclerView
中更新进度时应用程序崩溃了一段时间(recyclerView
在带有 TAB 布局 + viewPager 的片段中)
我正在为此使用广播接收器
代码如下
try {
for (int i = 0; i < postList.size(); i++) {
if (postList.get(i).getId().equals(postId)) {
postList.get(i).setProgress(result.getProgress());
profileListAdapter.notifyItemChanged(i);
}
}
} catch (Exception e) {
e.printStackTrace();
}
Logcat
Fatal Exception: java.lang.IllegalArgumentException: Tmp detached view should be removed from RecyclerView before it can be recycled: ViewHolder{cc90564 position=1 id=-1, oldPos=-1, pLpos:-1 update tmpDetached no parent}
at android.support.v7.widget.RecyclerView$Recycler.recycleViewHolderInternal(RecyclerView.java:5238)
at android.support.v7.widget.RecyclerView.removeAnimatingView(RecyclerView.java:1198)
at android.support.v7.widget.RecyclerView$ItemAnimatorRestoreListener.onAnimationFinished(RecyclerView.java:10834)
at android.support.v7.widget.RecyclerView$ItemAnimator.dispatchAnimationFinished(RecyclerView.java:11334)
at android.support.v7.widget.SimpleItemAnimator.dispatchAddFinished(SimpleItemAnimator.java:289)
at android.support.v7.widget.DefaultItemAnimator.onAnimationEnd(DefaultItemAnimator.java:242)
at android.support.v4.view.ViewPropertyAnimatorCompatJB.onAnimationEnd(ViewPropertyAnimatorCompatJB.java:47)
at android.view.ViewPropertyAnimator$AnimatorEventListener.onAnimationEnd(ViewPropertyAnimator.java:1114)
at android.animation.ValueAnimator.endAnimation(ValueAnimator.java:1239)
at android.animation.ValueAnimator.cancel(ValueAnimator.java:1140)
at android.view.ViewPropertyAnimator.cancel(ViewPropertyAnimator.java:427)
at android.support.v4.view.ViewPropertyAnimatorCompatICS.cancel(ViewPropertyAnimatorCompatICS.java:102)
at android.support.v4.view.ViewPropertyAnimatorCompat$ICSViewPropertyAnimatorCompatImpl.cancel(ViewPropertyAnimatorCompat.java:464)
at android.support.v4.view.ViewPropertyAnimatorCompat.cancel(ViewPropertyAnimatorCompat.java:1063)
at
显示此错误
java.lang.IllegalArgumentException: Tmp detached view should be removed from RecyclerView before it can be recycled:
ViewHolder{cc90564 position=1 id=-1, oldPos=-1, pLpos:-1 update tmpDetached no parent}
注:
我没有在我的应用中使用 getSwipeableContainerView
和 adapter.setHasStableIds(true)
。
行设计:
像这样recyclerView
行
尝试 notifyDataSetChanged()
而不是 notifyItemChanged(i)
。
我正在上传一个视频并在 recyclerview
中显示进度,我们可以上传多个视频并单独显示他们的进度 如果我们更改页面或移动进入 app 上传应该继续(而不是停止)。
出现问题 - 在 recyclerView
中更新进度时应用程序崩溃了一段时间(recyclerView
在带有 TAB 布局 + viewPager 的片段中)
我正在为此使用广播接收器
代码如下
try {
for (int i = 0; i < postList.size(); i++) {
if (postList.get(i).getId().equals(postId)) {
postList.get(i).setProgress(result.getProgress());
profileListAdapter.notifyItemChanged(i);
}
}
} catch (Exception e) {
e.printStackTrace();
}
Logcat
Fatal Exception: java.lang.IllegalArgumentException: Tmp detached view should be removed from RecyclerView before it can be recycled: ViewHolder{cc90564 position=1 id=-1, oldPos=-1, pLpos:-1 update tmpDetached no parent}
at android.support.v7.widget.RecyclerView$Recycler.recycleViewHolderInternal(RecyclerView.java:5238)
at android.support.v7.widget.RecyclerView.removeAnimatingView(RecyclerView.java:1198)
at android.support.v7.widget.RecyclerView$ItemAnimatorRestoreListener.onAnimationFinished(RecyclerView.java:10834)
at android.support.v7.widget.RecyclerView$ItemAnimator.dispatchAnimationFinished(RecyclerView.java:11334)
at android.support.v7.widget.SimpleItemAnimator.dispatchAddFinished(SimpleItemAnimator.java:289)
at android.support.v7.widget.DefaultItemAnimator.onAnimationEnd(DefaultItemAnimator.java:242)
at android.support.v4.view.ViewPropertyAnimatorCompatJB.onAnimationEnd(ViewPropertyAnimatorCompatJB.java:47)
at android.view.ViewPropertyAnimator$AnimatorEventListener.onAnimationEnd(ViewPropertyAnimator.java:1114)
at android.animation.ValueAnimator.endAnimation(ValueAnimator.java:1239)
at android.animation.ValueAnimator.cancel(ValueAnimator.java:1140)
at android.view.ViewPropertyAnimator.cancel(ViewPropertyAnimator.java:427)
at android.support.v4.view.ViewPropertyAnimatorCompatICS.cancel(ViewPropertyAnimatorCompatICS.java:102)
at android.support.v4.view.ViewPropertyAnimatorCompat$ICSViewPropertyAnimatorCompatImpl.cancel(ViewPropertyAnimatorCompat.java:464)
at android.support.v4.view.ViewPropertyAnimatorCompat.cancel(ViewPropertyAnimatorCompat.java:1063)
at
显示此错误
java.lang.IllegalArgumentException: Tmp detached view should be removed from RecyclerView before it can be recycled:
ViewHolder{cc90564 position=1 id=-1, oldPos=-1, pLpos:-1 update tmpDetached no parent}
注:
我没有在我的应用中使用 getSwipeableContainerView
和 adapter.setHasStableIds(true)
。
行设计:
像这样recyclerView
行
尝试 notifyDataSetChanged()
而不是 notifyItemChanged(i)
。