Я опоздал, но я нашел решение.
Я связываю с представлением утилизатора GridLayoutManager со значением span span = 2.
Поскольку у меня в верхней части окна реселлера есть EditText (я использую его в качестве панели поиска), как вы можете видеть на изображении, я должен установить поиск в сетке. Это делается с помощью setSpanSizeLookup (). Итак, в методе onViewCreated () моего класса фрагмента, который инициализирует просмотр recycler (у меня есть фрагмент, содержащий представление recycler), я вставляю следующий код:
GridLayoutManager gridLayoutManager = new GridLayoutManager(getContext(), 2);
gridLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
int type = adapter.getItemViewType(position);
if (type == RecyclerAdapter.SEARCH)
return 2;
else
return 1;
}
});
recyclerView.setLayoutManager(gridLayoutManager);
где часть "if (type == RecyclerAdapter.SEARCH) return 2;" означает, что держатель представления для панели поиска собирается занимать одну целую строку, 2 ячейки сетки (так как span = 2).
В моем адаптере для повторного просмотра крайне важен метод getItemViewType:
@Override
public int getItemViewType(int position) {
if (position == 0)
return SEARCH;
else
return DESCRIPTION;
}
где SEARCH и DESCRIPTION - две статические конечные переменные.