Android添加按钮OnClickListener,运行时出现NullPointerExceptiion,程序闪退

無爭 2014-06-10 07:18:02
本人Android新手,刚学没几天.望多多指教,我用的是ADT最新版
新建Android项目中只有一个按钮,在向该按钮添加OnClickListener事件监听器,并执行时,
提示:
threadid=1: thread exiting with uncaught exception (group=0x4209a898)
找到原因是:
Caused by: java.lang.NullPointerException
指向错误行是添加点击事件的那句话(下方代码第二行),以下是添加事件的代码

Button btn = (Button)findViewById(R.id.button1);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {

}
});

注:包检查过了没有导错,同样的代码,在用老师给的旧版环境试验后没有问题!但是旧版本的ADT不能识别我的手机,用虚拟机又慢的不行.老师帮我查看说是xml中的按钮没有获取到(代码第一行),但是我不太明白,新版中要怎么写才行,望赐教.如有什么细节需要补充的还望提出
...全文
939 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
無爭 2014-06-10
  • 打赏
  • 举报
回复 1
引用 1 楼 u012241545 的回复:
和我昨天遇到的问题一样啊,直接复制我的答案吧 原因是是新版SDK创建项目时默认引入的fragment.xml,我的button是定义在fragment.xml里面的,而findviewbyid却是在main.activity里面调用的,而这样是获取不到button的,所以就报了空指针,解决方法有两种 1.在fragment里面获取button,事件响应放在onCreateView里面处理,格式变成(Button)rootView.findViewById,多加了一个rootView 2.把整个view全都放在main_activity里面,这样的话用以前的方法也不会有问题
谢谢,两种方法我都试了,都可行.
daydreary 2014-06-10
  • 打赏
  • 举报
回复
你看下setcontentview里的layout是你button所在的layout吗。。
cajsaiko 2014-06-10
  • 打赏
  • 举报
回复
和我昨天遇到的问题一样啊,直接复制我的答案吧 原因是是新版SDK创建项目时默认引入的fragment.xml,我的button是定义在fragment.xml里面的,而findviewbyid却是在main.activity里面调用的,而这样是获取不到button的,所以就报了空指针,解决方法有两种 1.在fragment里面获取button,事件响应放在onCreateView里面处理,格式变成(Button)rootView.findViewById,多加了一个rootView 2.把整个view全都放在main_activity里面,这样的话用以前的方法也不会有问题

80,349

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧