首页 > 解决方案 > 使用 RecyclerView Android Studio 在不同行上设置列

问题描述

Aoa 我想像这样获得 Recyclerview 节目我想要这样的 RecyclerView 视图项目的输出

我在 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);

这是我得到的输出

请指导我这可能吗?如果是,那么如何?

标签: androidandroid-studioandroid-recyclerviewgridgridlayoutmanager

解决方案


我认为解决方案可能会执行以下操作:因为您正在做的是发送范围从 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 ?? 看来你走在正确的道路上,一点点实验就可以了:)祝你好运!!!


推荐阅读