Android Recyclerview拖动多个视图类型

Android Recyclerview拖动多个视图类型,android,Android,假设我的recyclerview中有10个项目,项目4与其他项目是不同的视图类型。当在recyclerview中拖动项0时,项4上会出现淡入淡出效果,这是因为我们不使用不同的视图类型交换元素。当我们拖动不同的视图类型时,有没有办法避免“刷新”适配器 @Override public boolean onItemMove(int fromPosition, int toPosition) { Collections.swap(mItems, fromPosition, toPosition

假设我的recyclerview中有10个项目,项目4与其他项目是不同的视图类型。当在recyclerview中拖动项0时,项4上会出现淡入淡出效果,这是因为我们不使用不同的视图类型交换元素。当我们拖动不同的视图类型时,有没有办法避免“刷新”适配器

@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;
}