RecyclerView 适配器 `onCreateViewHolder` 和 `onBindViewHolder` 只被调用一次

RecyclerView adapter `onCreateViewHolder` & `onBindViewHolder` invoked only once

我有一个 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])
  }
}

但是,仅显示 data 中的第一项(即 onCreateViewHolder & onBindViewHolder 只调用一次)。我怎样才能让它正确显示数据中的所有项目?

上面评论的答案是正确的。我的列表项(视图)是全屏高度:

这意味着 RecyclerView 只会在您滚动到下一个元素时更新 ViewHolder。解决办法就是修改这几项的高度。