RecyclerView отображает список. Нужно, что бы при одном условии отображался один item, а при другом - другой. Как это реализовать.
Ответ
Использовать getItemViewType(). Например
public class MyAdapter extends RecyclerView.Adapter
class ViewHolder2 extends RecyclerView.ViewHolder {
...
}
private static final int TYPE_IMAGE = 0;
private static final int TYPE_GROUP = 1;
@Override
public int getItemViewType(int position) {
int viewType;
if (groups.get ( position ).getImagePath () != null ) {
viewType = TYPE_IMAGE;
} else {
viewType = TYPE_GROUP;
}
return viewType;
}
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
switch (viewType) {
case 0: return new ViewHolder0(...);
case 2: return new ViewHolder2(...);
...
}
}
}
Комментариев нет:
Отправить комментарий