所以我有一个3 ViewHolder
类型的适配器。
private static final int TYPE_M = 0;
private static final int TYPE_H = 1;
private static final int TYPE_T= 2;
我希望能够通过视图持有者类型过滤RecyclerView
中的项目。这样做的任何标准方法,或者我必须使用类似循环的东西并使项目不可见?
项目视图类型选择:
@Override
public int getItemViewType(int position) {
MyItem myItem = listitems.get(position);
if (myItem.getType() == "M"){
return TYPE_M;
}
else if (myItem.getType() == "H"){
return TYPE_H;
}
else if (myItem.getType() == "T"){
return TYPE_T;
}
}
答案 0 :(得分:0)
尝试使用displayList过滤列表显示,dataList包含所有元素。
public void filterList(int viewType) {
displayList.clear();
notifyDataSetChanged();
for (int i = 0; i < dataList.size(); i++) {
if (getItemViewType(i) == viewType){
displayList.add(dataList.get(i));
}
}
notifyDataSetChanged();
}