【问题标题】:GridView: Adding custom row every 20 itemsGridView:每 20 个项目添加自定义行
【发布时间】:2017-01-10 14:15:05
【问题描述】:

我有一个显示图像的标准 GridView。我希望每显示 20 个项目/图像,显示一个自定义布局。

这是我的意思的一个很好的例子:

有人知道如何做到这一点吗?任何建议表示赞赏。谢谢。

【问题讨论】:

  • 使用recyclerView,每次添加自定义行时检查计数是否为%20

标签: android gridview


【解决方案1】:

有人知道如何实现吗?

我做到了。您可以通过使用RecyclerViewGridLayoutManager 以及RecyclerView.Adapter 中的两种视图类型轻松实现此目的。 你可以看到下面的代码:使用类型TYPE_ADS,你跨列2。使用普通项目TYPE_ITEM,你不跨列(意味着值= 1)

mRecyclerView = (RecyclerView) findViewById(R.id.recycler_view);
GridLayoutManager glm = new GridLayoutManager(this, 2);
glm.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
            @Override
            public int getSpanSize(int position) {
                switch(mAdapter.getItemViewType(position)){
                    case MyAdapter.TYPE_ADS:
                        return 2;
                    case MyAdapter.TYPE_ITEM:
                        return 1;
                    default:
                        return -1;
                }
            }
        });

mRecyclerView.setLayoutManager(glm); 
mRecyclerView.setAdapter(mAdapter);

【讨论】:

  • MyAdapter.TYPE_ADS 和 TYPE_ITEM 指的是什么?它是在适配器类中定义的 int 吗?
  • 正确。在您的RecyclerView.Adapter 中有 2 种类型 int。基于项目类型有相关的布局。你可以看到这个link
猜你喜欢
  • 1970-01-01
  • 2016-08-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-10
  • 1970-01-01
  • 2023-04-02
  • 2010-11-27
相关资源
最近更新 更多