Как установить несколько промежутков для таблицы сетки переработчика и показать верхний и нижний колонтитулы
У меня есть фрагмент, перечисляющий пару элементов из массива, где массив заполняется из API. Также я создал класс фрагмента и адаптер утилизатора, где я назвал Layout Manager как представление сетки. На мой взгляд, заголовок содержит два элемента массива и нижний колонтитул рекламы. Я успешно реализовал заголовок, но не получил должным образом свой нижний колонтитул. Предлагаемые способы ценны без серьезных изменений.
Фрагмент
mRecyclerView = (RecyclerView) view.findViewById(R.id.mrecycler_channel);
mRecyclerView.setHasFixedSize(true);
GridLayoutManager gm = new GridLayoutManager(getActivity(),2);
gm.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
return position == 0 ? 2:1;
}
});
mRecyclerView.setLayoutManager(gm);
mAdapter = new StationsListAdapter(getActivity(), listStations, listlikedStations, listner);
mRecyclerView.setAdapter(mAdapter);
Адаптер
@Override
public int getItemCount() {
int array = listAddress.size();
Log.d("abhil",""+array);
// if(listAddress.size()>0) {
return listAddress.size() - 1;
// }else{
// return 0;
// }
}
@Override
public int getItemViewType(int position) {
if (position == 0) {
return TYPE_HEADER;
} else if(isPositionFooter(position)){
return AD_TYPE;
}
return TYPE_ITEM;
}
private boolean isPositionFooter (int position) {
return position == listAddress.size() + 1;
}
необходимо установить объявление на последней позиции как обычное рекламное объявление, показываемое в Recyclerlistview.
1 ответ
Вы можете достичь этого следующим образом:
gm.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
//Do your lookup here
return (position == 0 || position == listStations.size() - 1) ? 2 : 1;
}
});