我正在开发一个具有两个视图持有人的recyclerView适配器的android应用,当视图类型为旅行者设置跨度计数为1且视图类型为文件夹设置跨度计数为2但此处始终具有1个跨度计数时,我尝试制作一个我使用的Grid布局管理器
GridLayoutManager gridLayout = new GridLayoutManager(this, 2);
gridLayout.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
if (adapter.getItemViewType(position) == TYPE_FOLDER)
return 2;
else
return 1;
}
});
recyclerView.setLayoutManager(gridLayout);
这是获取适配器中的视图类型
@Override
public int getItemViewType(int position) {
Object obj = data.get(position);
if (obj instanceof Traveler)
return TYPE_TRAVELER;
else if (obj instanceof MainItem)
return TYPE_FOLDER;
throw new IllegalArgumentException("Invalid position " + position);
}
以及该应用的屏幕截图
https://i.imgur.com/bPRbCyA.png“ app_screenshot”