Android Studio中Fragment按钮setOnClickListener空指针异常问题咨询
报错根因及修复方案
你遇到的Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference错误,核心原因是buttonSend_contact实例为null,调用方法时触发空指针。
最直接的问题点
你在onCreateView方法中错误加载了其他页面的布局:
// 你当前加载的是视频页面的布局,该布局中不存在id为buttonSendMail的按钮 View view = inflater.inflate(R.layout.fragment_videos, container, false);
你提供的对应ContactFragment的布局文件和这个加载的布局不匹配,只要将此处的布局资源替换为你实际存放ContactFragment布局的文件名即可,比如如果你的布局文件命名为fragment_contact.xml,修改为:
View view = inflater.inflate(R.layout.fragment_contact, container, false);
其他可排查的场景
如果修改布局加载逻辑后仍报错,可以逐一排查以下问题:
- 检查布局文件中按钮的id拼写、大小写是否和代码中
R.id.buttonSendMail完全一致,Android资源id大小写敏感 - 清理项目构建缓存后重新编译,避免缓存导致的资源id匹配异常
- 如果你有多个不同屏幕限定符的布局文件夹(比如
layout-land、layout-sw600dp等),检查所有对应文件夹下的ContactFragment布局是否都添加了id为buttonSendMail的按钮
内容的提问来源于stack exchange,提问作者FranyxD
相关产品推荐
相关产品推荐

