【发布时间】:2015-10-19 08:59:45
【问题描述】:
我使用notifyItemRemoved() 方法我想更改其他剩余项目,但该方法不会触发onBindView() 方法。
除了使用notifyDataSetChanged(),我该怎么做。我想要notifyItemRemoved()方法自带的动画
【问题讨论】:
标签: android android-recyclerview
我使用notifyItemRemoved() 方法我想更改其他剩余项目,但该方法不会触发onBindView() 方法。
除了使用notifyDataSetChanged(),我该怎么做。我想要notifyItemRemoved()方法自带的动画
【问题讨论】:
标签: android android-recyclerview
如果您尝试从RecyclerView Adapter 中删除一个项目并希望在RecyclerView 中的整个列表中显示动画。
使用notifyItemRemoved(position)后使用notifyItemRangeChanged(position, getItemCount());
notifyItemRemoved(position); - 通知 RecyclerView 适配器适配器中的数据已在特定位置被删除。
notifyItemRangeChanged(position, getItemCount()); - 通知 RecyclerView 适配器适配器中元素的位置已被 从位置更改(删除元素索引到列表末尾),请 更新它。
【讨论】:
fix 不应该做任何事情。查看 RecyclerVIew 代码: public final void notifyItemRemoved(int position) { mObservable.notifyItemRangeRemoved(position, 1); }
notifyItemRangeChanged 而不是 notifyItemRangeRemoved。
notifyItemRangeChanged(position, getItemCount() - position);.