方法setSpanSizeLookup不在一行中显示两个项目

时间:2018-07-23 05:21:32

标签: android

我正尝试以下一个顺序查看它,如下图所示:

https://imgur.com/a/TsYVPkv

第一行中的一项,第二行中的两项,第三行中的一项,第四行中的2个主题。我已经写了这段代码:

GridLayoutManager layoutManager = new GridLayoutManager(this, 2, GridLayoutManager.VERTICAL, false);
    ((GridLayoutManager) layoutManager).setSpanSizeLookup( new GridLayoutManager.SpanSizeLookup() {
                @Override
                public int getSpanSize(int position) {
                    // 2 column size for first row
                    if((position % 2) == 0){
                        return 1;
                    } else
                    return 2;
                }
        recyclerView.setLayoutManager(layoutManager);
        recyclerView.setAdapter(adapter);

不幸的是,必须包含2个项目的行未正确映射: https://imgur.com/a/TsYVPkv

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

getSpanSize方法更改为以下方法:

public int getSpanSize(int position) {
                // 2 column size for first row
                if((position % 3) == 0){
                    return 2;
                } else
                return 1;
            }

因为我们需要将每个第三项都设置为大于其他项