You need to enable JavaScript to run this app. Android RecyclerView 加载4条数据 getItemCount返回4却仅显示单条目
优惠活动
大模型
产品
解决方案
定价
更多

Android RecyclerView 加载4条数据 getItemCount返回4却仅显示单条目

RecyclerView仅展示单条列表项的排查路径

最常见触发原因

  • 列表项布局尺寸配置错误
    检查item_list.xml的根布局尺寸:如果根布局的android:layout_height被设置为match_parent,会导致每一个item都会撑满整个RecyclerView的可视高度,后续3条item全部被第一条的高度覆盖,视觉上仅能看到第一条内容。正确配置为:根布局layout_height设为wrap_content,layout_width保持match_parent即可。
  • Adapter加载布局的参数错误
    检查ListArticleAdapter中onCreateViewHolder方法的布局inflate逻辑:如果调用LayoutInflater.inflate()时错误传入attachToRoot = true,或者root参数传为null丢失了原布局的尺寸属性,会导致item根布局被强制拉伸为和RecyclerView同尺寸。正确的inflate写法:
    View inflateView = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_list, parent, false);

其他需排查的方向

  • 主页面布局的RecyclerView尺寸不匹配
    检查activity_main.xml中RecyclerView的布局参数:如果RecyclerView自身的layout_height设为了wrap_content,搭配item布局的match_parent高度设置,会导致RecyclerView计算出的自身高度仅能容纳1条item的展示空间。这种场景下需要将RecyclerView的高度设为固定值或match_parent,预留足够的垂直展示空间。
  • 业务代码中强制修改item尺寸
    检查Adapter的onBindViewHolder方法是否存在逻辑:给item的根布局设置了固定LayoutParams,且高度值传入了RecyclerView本身的总高度,这种强制设置也会导致单条item占满全屏。

快速验证技巧:可以在代码中开启RecyclerView的调试绘制模式recyclerView.setDebugDrawEnabled(true),系统会给每个item绘制差异化的彩色边框,如果所有item的边框完全重叠在同一区域,可直接确认是布局尺寸配置问题,无需反复校验数据传递逻辑。


内容的提问来源于stack exchange,提问作者Xose

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.05 07:54:05