我正在创建一个网格,你可以在下面的图片中看到。
输入列表:{“位置0”、“位置1”、“位置2”、“位置3”、“位置4”、.}

问题是,我想要一个有两种组件的菜单。
小->在图像中的位置0
巨型->在图像中的位置2
因此,当我的适配器从第4位置创建项目时,它是不正常的。
预期输出:
位置1,位置2,位置3
位置4,位置5,位置6
public class SampleRecyclerViewAdapter extends RecyclerView.Adapter<SampleViewHolders> {
private List<ItemObject> itemList;
private Context context;
public SampleRecyclerViewAdapter(Context context,
List<ItemObject> itemList) {
this.itemList = itemList;
this.context = context;
}
@Override
public SampleViewHolders onCreateViewHolder(ViewGroup parent, int viewType) {
View layoutView = LayoutInflater.from(parent.getContext()).inflate(
R.layout.book_list_item, null);
SampleViewHolders rcv = new SampleViewHolders(layoutView);
return rcv;
}
@Override
public void onBindViewHolder(SampleViewHolders holder, int position) {
holder.bookName.setText(itemList.get(position).getName() + position);
if (position % 2 == 0) {
holder.itemView.setMinimumHeight(250);
} else {
holder.itemView.setMinimumHeight(300);
}
}
@Override
public int getItemCount() {
return this.itemList.size();
}}
发布于 2020-03-17 12:42:30
您应该为查找大小添加侦听器。
mGridLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
return //do your logic here
}
});如果要添加跨距计数
GridLayoutManager gridLayoutManager = new GridLayoutManager(this, //count);https://stackoverflow.com/questions/60722578
复制相似问题