相关疑难解决方法(0)

RecyclerView适配器notifyDataSetChanged停止花哨的动画

我正在构建一个基于RecyclerView的组件,允许用户通过拖放重新排序项目.一旦我在DragListener端,我需要它在适配器中的位置,以便执行正确的移动,但我只能访问视图.所以这是我在适配器视图绑定中所做的事情:

@Override
public void onBindViewHolder(ViewHolder viewHolder, int position) {
    Track track = mArray.get(position);
    viewHolder.itemView.setTag(R.string.TAG_ITEM_POSITION, position);
}
Run Code Online (Sandbox Code Playgroud)

你觉得这样对吗?因为如果我移动这样的项目:

public void move(int from, int to){
    Track track = mArray.remove(from);
    mArray.add(to, track);
    notifyItemMoved(from, to);
}
Run Code Online (Sandbox Code Playgroud)

然后位置标记不再正确,如果我notifyDataSetChanged(),我失去了花哨的动画.有什么建议吗?

android adapter android-recyclerview

29
推荐指数
2
解决办法
3万
查看次数

标签 统计

adapter ×1

android ×1

android-recyclerview ×1