BaseItemRecyclerViewAdapter
多布局BaseMultiItemAdapter
可拖拽、滑动的多布局适配器
public abstract class BaseMultiItemDragAdapter<T extends BaseMultiItemEntity, K extends BaseViewHolder>
extends BaseItemRecyclerViewAdapter<T,K> {
public BaseMultiItemDragAdapter(List<T> data) {
super(data);
}
@Override
public int getItemViewType(int position) {
return data.get(position).getItemType();
}
}
这里我们继承的是BaseItemRecyclerViewAdapter,而不是BaseRecyclerViewAdapter,并且需要为之前的BaseItemRecyclerViewAdapter添加一个多布局的构造函数。
/**
* 多布局构造函数
* @param data item数据
*/
public BaseItemRecyclerViewAdapter(List<T> data) {
super(data);
}
使用
与多布局适配器类似,只是多了一个拖拽、滑动事件
//拖动or滑动事件回调
val baseItemTouchHelpCallback = BaseItemTouchHelpCallback(adapter)
val itemTouchHelper = ItemTouchHelper(baseItemTouchHelpCallback)
itemTouchHelper.attachToRecyclerView(recyclerView)
adapter.enableDragItem(itemTouchHelper)
adapter.enableSwipeItem()