Страницы

Поиск по вопросам

понедельник, 25 февраля 2019 г.

Два item в RecyclerView

RecyclerView отображает список. Нужно, что бы при одном условии отображался один item, а при другом - другой. Как это реализовать.


Ответ

Использовать getItemViewType(). Например
public class MyAdapter extends RecyclerView.Adapter { class ViewHolder0 extends RecyclerView.ViewHolder { ... }
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(...); ... } } }

Комментариев нет:

Отправить комментарий