RecyclerView适配器“ onCreateViewHolder”和“ onBindViewHolder”仅被调用一次

时间:2019-11-13 17:54:48

标签: android android-recyclerview android-viewholder

我有一个这样的 RecyclerView.Adapter

internal class MyAdapter : RecyclerView.Adapter<MyAdapter.MyViewHolder>() {
  private val data: List<MyModel> = SeedData().seed()

  override fun onCreateViewHolder(v: ViewGroup, viewType: Int): MyViewHolder {
    val binding = MyListitemBinding.inflate(LayoutInflater.from(v.context), v, false)
    return MyViewHolder(binding)
  }

  override fun getItemCount() = data.size

  override fun onBindViewHolder(holder: MyViewHolder, position: Int) {
    holder.bind(data[position])
  }
}

但是,仅显示数据中的第一项(即 onCreateViewHolder onBindViewHolder 仅被调用一次)。如何使其正确显示数据中的所有项目?

1 个答案:

答案 0 :(得分:0)

以上评论正确。我的列表项(视图)全屏显示: enter image description here

这意味着RecyclerView仅在滚动到下一个元素时才更新ViewHolder。解决方法是修改这些项目的高度。