Android Recyclerview拖动多个视图类型
假设我的recyclerview中有10个项目,项目4与其他项目是不同的视图类型。当在recyclerview中拖动项0时,项4上会出现淡入淡出效果,这是因为我们不使用不同的视图类型交换元素。当我们拖动不同的视图类型时,有没有办法避免“刷新”适配器Android Recyclerview拖动多个视图类型,android,Android,假设我的recyclerview中有10个项目,项目4与其他项目是不同的视图类型。当在recyclerview中拖动项0时,项4上会出现淡入淡出效果,这是因为我们不使用不同的视图类型交换元素。当我们拖动不同的视图类型时,有没有办法避免“刷新”适配器 @Override public boolean onItemMove(int fromPosition, int toPosition) { Collections.swap(mItems, fromPosition, toPosition
@Override
public boolean onItemMove(int fromPosition, int toPosition) {
Collections.swap(mItems, fromPosition, toPosition);
notifyItemMoved(fromPosition, toPosition);
return true;
}
这里fromPosition是3,toPosition是5,但位置4是一个具有不同视图类型的项目。根据本教程的简单拖放操作,我不得不在
SimpleItemTouchHelperCallback中注释一行
@Override
public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder source, RecyclerView.ViewHolder target) {
if (source.getItemViewType() != target.getItemViewType()) {
//return false; //commented here
}
// Notify the adapter of the move
mAdapter.onItemMove(source.getAdapterPosition(), target.getAdapterPosition());
return true;
}