如何让RecyclerView的ListItem在模拟器上显示?设计视图可见运行时不显示
设计视图能看到预览是tools:listitem="@layout/row_pool_objectives"属性仅作用于Android Studio预览环境,运行时不生效,运行时列表不显示可按以下步骤排查修复,该需求完全可实现:
排查修复步骤
- 必须为RecyclerView设置布局管理器,无布局管理器时RecyclerView不会绘制列表项,可在对应Activity/Fragment的
onCreate/onViewCreated生命周期中添加代码:
// Kotlin 示例 rcvPoolVariables.layoutManager = LinearLayoutManager(this) // 如需网格布局可替换为以下代码,第二个参数为列数 // rcvPoolVariables.layoutManager = GridLayoutManager(this, 2)
// Java 示例 rcvPoolVariables.setLayoutManager(new LinearLayoutManager(this));
- 检查是否完成RecyclerView.Adapter的实现与绑定
- 实现自定义Adapter子类,关联列表项布局
row_pool_objectives,传入要展示的数据源 - 调用
rcvPoolVariables.setAdapter(自定义Adapter实例)完成绑定 - 确认Adapter中
getItemCount()方法返回值等于数据源实际长度,不可固定返回0
- 实现自定义Adapter子类,关联列表项布局
- 检查列表项布局
row_pool_objectives根节点的宽高配置- 根节点宽度建议设为
match_parent,高度设为wrap_content或固定数值,避免根节点宽高均为wrap_content导致子控件无法撑开布局
- 根节点宽度建议设为
- 检查RecyclerView的约束布局配置是否生效
- 确认RecyclerView的父布局为ConstraintLayout
- 确认约束锚点
@+id/containerVariableAndWeeks正常显示,未被隐藏或高度为0,避免RecyclerView被挤出可视区域
完成以上配置后即可正常展示列表项。
内容的提问来源于stack exchange,提问作者jvargas
相关产品推荐
相关产品推荐

