Android登录Activity跳转RecyclerView页面时NullPointerException崩溃如何解决?
问题原因
本次崩溃的核心原因是RecyclerView适配器的context成员变量未初始化,onCreateViewHolder中调用LayoutInflater.from(context)时传入了null值,触发空指针异常。
你在recyclerAdapter的构造函数中接收了Context ct参数,但没有给类成员变量Context context赋值,导致context一直是初始的null值。
修复方案
只需要修改recyclerAdapter的构造函数,把传入的ct赋值给context即可,修改后的构造函数如下:
public recyclerAdapter(Context ct, String title[],String description[],String count[], int imageicons[]){ this.context = ct; // 新增这一行完成context赋值 data1=title; data2=description; data3=count; img=imageicons; }
额外优化建议
- 你也可以选择不持有context变量,直接在
onCreateViewHolder里从parent获取context,这种方式更稳妥,能避免context泄漏或者传递错误的问题:LayoutInflater inflater = LayoutInflater.from(parent.getContext()); - 类名建议遵循大驼峰命名规范,把
recyclerAdapter改成RecyclerAdapter,符合安卓开发通用规范,可读性更高。 - 请确保
R.array.Title、R.array.Description、R.array.Count这三个数组的长度和imageicons数组的长度一致,避免后续出现下标越界异常。
内容的提问来源于stack exchange,提问作者Deepak Chauhan
相关产品推荐
相关产品推荐

