解决过程: 首先检查数据是否错误,通过在RecyclerView.Adapter<T>#getItemCount 中 打印对应数据的 size 发现数据个数正常,排出数据本身的问题;那么再去打印 RecyclerView.Adapter<T>#onBindViewHolder 发现这个方法只调用了一次。说明当前视图只需要显示一个Item,可是明明需要显示多个啊,那么原因就只有一个了,一个Item把整个视图占用。那么解决方案就不言自明了:
检查对应的 Item根布局属性,如果你用了 match_parent, 修改成如下所示:
-
android:layout_width="wrap_content" android:layout_height="wrap_content"