【发布时间】:2017-08-09 10:32:26
【问题描述】:
【问题讨论】:
标签: android android-recyclerview gridlayoutmanager
【问题讨论】:
标签: android android-recyclerview gridlayoutmanager
您需要在 ViewHolder 中添加一个转换。查看此帖子:link
【讨论】:
我不知道克里斯托弗的链接是否允许可扩展元素占据整个 2 个网格。可能有一种方法可以结合使用 getItemViewType() 和 setSpanSizeLookup()。
@Override
public int getItemViewType(int position) {
if (position == positionOfClickedItem + 2){
return TYPE_EXPANDABLE;
} else {
return TYPE_CAR_ITEM;
}
}
根据位置绑定数据,并将位置携带到你的activity中设置SpanSizeLookup。然后,您必须将更改通知适配器:
// Create a SpanSizeLookup which returns 2 grids span if its the expandable or 1 otherwise.
gridLayout.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
if (position == positionOfClickedItem) {
return 2;
} else {
return 1;
}
}
});
我认为转换答案效果更好,但以防跨度大小很重要。
【讨论】: