android - 使用 RecyclerView Android Studio 在不同行上设置列
问题描述
我在 GridLayoutManager 代码下面使用但我得到这样的输出
GridLayoutManager manager = new GridLayoutManager(this, 2);
manager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
return (position % 3) > 0 ? 1 : 2;
}
});
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(MainActivity.this);
UserAdapter userAdapter = new UserAdapter(this,userModelList);
rvItem.setLayoutManager(manager);
rvItem.setAdapter(userAdapter);
请指导我这可能吗?如果是,那么如何?
解决方案
我认为解决方案可能会执行以下操作:因为您正在做的是发送范围从 i=0 到 n 的位置,并且您使用模数 3 。因此,如果 i=0 和 i>0 为假,这就是为什么第一行是 1 而第二行是 i=1 并且 i>0 这就是为什么你得到 2 ...
@Override
public int getSpanSize(int position) {
return (position % 3) > 0 ? 2 : 1;
}
如何切换三元条件并尝试使用模 2 而不是 3 ?或者也许切换 2 和 1 ?? 看来你走在正确的道路上,一点点实验就可以了:)祝你好运!!!
推荐阅读
- ms-access-2003 - 是否有 VBA 代码可以将子窗体中的数据记录到 MS-Access 中的表中?
- c - 使用 va_list 和 va_arg 实现子功能
- git - 远程:禁止致命:无法访问
- c# - 有没有办法在不先保存到文件的情况下将图像读入预测引擎?
- nim-lang - Nim 和内存管理
- amazon-web-services - Kinesis 流到 AWS lambda
- yarnpkg - 如何使用 Yarn 定位单个工作区?
- javascript - 为什么我的生成器在迭代后会变空?
- c++ - 推断 Lambda 捕获类型
- windows - 为什么这个简单的 Powershell 脚本在需要时不退出?