RecyclerView项目删除未正确设置动画

时间:2016-10-23 23:16:32

标签: java android animation android-recyclerview

显然,我有一个包含项目的RecyclerView。它使用DefaultAnimator来制作所有动画。 删除项目时,删除是动画的,但不是应该的。问题是看起来列表的大小先减少一个,然后删除被点击的项目,然后将下面的所有项目向上移动一个。看看this short video,看看我在说什么 用于删除项目的代码如下:

MainActivity.events.events.remove(listItems.keyAt(0));
notifyItemRemoved(listItems.keyAt(0));

其中MainActivity.events.events包含商品的数据,listItems.keyAt(0)包含当前所选商品。

我尝试过的(这些都没有效果):

  • 确保没有其他电话会中断动画(例如notifyDataSetChanged())。
  • 为适配器内的项目直接将上述代码实现到onClickListener
  • 直接将数据实现到适配器而不是其他类。
  • 将位置替换为getAdapterPosition()或固定值(即0
  • notifyItemRangeRemoved()之后使用notifItemRemoved()

提示:我之前已经开始使用动画了,但截至今天它已不再适用了。

修改
如果我从上面给出的代码片段中删除了实际删除命令(即MainActivity.events.events.remove(listItems.keyAt(0));),则动画为played correctly,但该元素实际上并未被删除,因此这不能解决这个问题

0 个答案:

没有答案