首页 > 解决方案 > RecyclerView 适配器返回零子

问题描述

我想获得 recyclerview list 的子节点数。我已经尝试过以下行,但每次都返回零

recyclerView.getAdapter().getItemCount();

标签: androidandroid-recyclerview

解决方案


您的适配器类 - 继承自的适配器类 -RecyclerView.Adapter必须实现一个名为 的方法getItemCount(),该方法应返回一个整数,该整数是您尝试膨胀的列表的大小。

您可能忘记从该方法返回正确的值。

在 Kotlin 中,它应该看起来像这样:

class MyAdapter : RecyclerView.Adapter<MyViewHolder>() {

  var myItems: List<Item> = emptyList()
      set(value) {
          field = value
          notifyDataSetChanged()
      }

  // this method here tells the adapter that the item count
  // is equal to the size of the myItems list
  override fun getItemCount() = myItems.size
  
  override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) ...
  
  override fun onBindViewHolder(holder: MyViewHolder, position: Int)...

}


推荐阅读