我正在关注本教程项目触摸助手示例(实际上只是项目触摸助手部分,因为我希望在滑动时看到带有删除图标的红色背景)。但是我的 recyclerview 中有两种不同的视图类型。我将如何实施它?我被困在这条线上
final View foregroundView = ((CartListAdapter.MyViewHolder) viewHolder).viewForeground;
在onChildDraw方法上的RecyclerItemTouchHelper.java
我正在关注本教程项目触摸助手示例(实际上只是项目触摸助手部分,因为我希望在滑动时看到带有删除图标的红色背景)。但是我的 recyclerview 中有两种不同的视图类型。我将如何实施它?我被困在这条线上
final View foregroundView = ((CartListAdapter.MyViewHolder) viewHolder).viewForeground;
在onChildDraw方法上的RecyclerItemTouchHelper.java
所有ViewHolder
实例都有一个方法,该方法将返回与创建 ViewHolder 时getItemViewType()
适配器最初从其自己的方法返回的值相同的值。getItemViewType()
您可以使用此处的值来选择要转换为您自己的 ViewHolder 子类:
public void onChildDraw(Canvas c, RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, float dX, float dY, int actionState, boolean isCurrentlyActive) {
int viewType = viewHolder.getItemViewType();
if (viewType == MY_FIRST_TYPE) {
((MyFirstSubclass) viewHolder).foo();
// ...
} else if (viewType == MY_SECOND_TYPE) {
((MySecondSubclass) viewHolder).bar();
// ...
}
// ...
}