接入RecyclerView后APP运行崩溃是什么原因?附相关Java实现代码
RecyclerView运行崩溃排查修复方案
常见崩溃原因与修复
- 布局ID不匹配
- 确认
activity_home_page.xml中RecyclerView控件ID完全为RecyclerViewBuongiorno,拼写、大小写错误会导致findViewById返回空值,后续调用方法直接触发空指针崩溃 - 确认条目布局
example_item.xml中的控件ID完全对应:ImageView的ID是Imageview、两个TextView的ID分别为textview、textview2,任意ID不匹配都会导致ViewHolder初始化时抛出空指针
- 确认
- 依赖缺失
检查模块级build.gradle文件中是否引入了RecyclerView官方依赖,缺失依赖会触发运行时类找不到错误:dependencies { // 版本与项目compileSdk匹配即可 implementation 'androidx.recyclerview:recyclerview:1.3.2' } - 条目布局高度配置错误
example_item.xml根布局高度不要设置为match_parent,否则单条目占满整个屏幕,虽不会直接崩溃但会出现仅显示1条数据的异常,需修改为wrap_content
精准定位崩溃方法
打开Android Studio底部的Logcat面板,搜索Caused by:关键词,后续日志会直接标注崩溃类型和触发崩溃的代码行:
- 若为空指针异常且指向
mRecyclerView相关方法调用行,就是RecyclerView ID匹配错误 - 若为空指针异常且指向ViewHolder内
findViewById相关行,就是条目布局控件ID匹配错误 - 若为类找不到异常,就是未引入RecyclerView依赖
内容的提问来源于stack exchange,提问作者Davencode
相关产品推荐
相关产品推荐

