【问题标题】:How to set spancount for recyclerview如何为recyclerview设置spancount
【发布时间】:2021-10-21 06:55:40
【问题描述】:
  <androidx.recyclerview.widget.RecyclerView
                                    android:id="@+id/rv46"
                                    android:layout_width="match_parent"
                                    android:layout_height="wrap_content"
                                    app:spanCount="3"
                                    tools:listitem="@layout/wallet_items"

                                    />

我正在实施具有 N 个项目的 recyclerview,但我只想在列表中显示 3 个项目。另外我已经为 recyclerview 设置了 spancount,但它不起作用

【问题讨论】:

  • 我没有使用网格布局
  • 问题含糊不清。跨度计数用作 GridLayout 的一部分来确定每行水平的项目数,因此有关于 GridLayoutManager 的注释。
  • 不是GridLayout。它是RecyclerView 使用GridLayoutManagerRecyclerView 有一个 layoutManager。有不同类型的layoutManager 可供选择。 GridLayoutManager 列数设置为 3 适合您的用例
  • 我正在使用线性布局管理器

标签: java android


【解决方案1】:

tools:itemCount="3"代替app:spanCount="3"

【讨论】:

  • 这只会影响预览,不会影响应用的实际运行
  • 然后使用适配器通过 'getItemCount()' 方法设置限制 return 3 它只会返回视图上的 3 条记录
  • 我对不同的活动使用相同的适配器。我只想为一项活动设置项目计数 3
  • 那么在将列表传递给适配器时只传递 3 项
【解决方案2】:

在您的适配器类中,分配 `getItemCount() 的返回值 3,它只显示 3 个列表项

override fun getItemCount(): Int {
   return 3
}

【讨论】:

    【解决方案3】:

    在您的适配器getItemCount() 方法中添加此条件:

    return Math.min(yourlist.size(), 3);

    像这样:

    @Override
        public int getItemCount() {
            return Math.min(memeberList.size(), 3);
        }
    

    【讨论】:

      猜你喜欢
      • 2020-10-19
      • 1970-01-01
      • 2020-12-05
      • 2017-05-03
      • 2019-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多