android的button监听报空指针异常
2014-05-07 10:37
323 查看
最近刚刚开始学android,结果刚刚按照书本敲了个button的监听事件的代码,就报错,主要的错误有两个,一个是android error opening trace file no such file or directory (2),在网上找了很多答案,有的说没有关系,不影响程序运行,但是我还是找了很久,花了一天时间,最终确定这个错误不解决,也不会影响程序的运行。第二天把这个又重新开始查找代码的问题,因为代码很简单,就自己写了不超过10行的代码,所以也不知道怎么排除问题,后面想着一句一句的排除,就先试试找到button这个语句是不是有问题:Button
btn = (Button)findViewById(R.id.button1);,但是又不知道怎么调试android(实在是菜鸟,比如打印输出信息之类的),然后给这句话加了个判断,于是修改后的代码就变成了
Button btn = (Button)findViewById(R.id.button1);
if(null !=btn)//如果这里写成 if(null = btn)
{
Log.i("s","haha");
}
然后再次调试,结果程序依然是运行正常。我这里又不能从logcat输出得到任何信息,因为logcat没有任何错误信息提示,就是说不能确定btn是不是null,但至少现在程序海事运行正常!那么,问题就肯定出在监听这段代码,如下:
btn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
}
});
果然,把这段代码加上,就出问题,程序就报出android程序自动停止,后台就出现一大批错误;又不知道怎么查找错误,后面找了很久,才无意中发现一篇帖子,说新版的android sdk(可能是eclipse的问题,笔者猜测是android的原因)的layout文件夹有两个xml文件,一个是activity_main.xml,一个是fragment_main.xml,两个xml文件的button是不同的,而且mainactivity.java对应的button是对应着activity_main.xml的button的id,而我的activit_main.xml就没有button这个节点,所以程序一直是报出空指针异常!这里的改正策略是在activity_main.xml文件中新建一个button节点,并且button的id和mainactivity.java中的findviewbyid的那个id相同,而且id不能和fragment_main.xml
的button的id相同!!
btn = (Button)findViewById(R.id.button1);,但是又不知道怎么调试android(实在是菜鸟,比如打印输出信息之类的),然后给这句话加了个判断,于是修改后的代码就变成了
Button btn = (Button)findViewById(R.id.button1);
if(null !=btn)//如果这里写成 if(null = btn)
{
Log.i("s","haha");
}
然后再次调试,结果程序依然是运行正常。我这里又不能从logcat输出得到任何信息,因为logcat没有任何错误信息提示,就是说不能确定btn是不是null,但至少现在程序海事运行正常!那么,问题就肯定出在监听这段代码,如下:
btn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
}
});
果然,把这段代码加上,就出问题,程序就报出android程序自动停止,后台就出现一大批错误;又不知道怎么查找错误,后面找了很久,才无意中发现一篇帖子,说新版的android sdk(可能是eclipse的问题,笔者猜测是android的原因)的layout文件夹有两个xml文件,一个是activity_main.xml,一个是fragment_main.xml,两个xml文件的button是不同的,而且mainactivity.java对应的button是对应着activity_main.xml的button的id,而我的activit_main.xml就没有button这个节点,所以程序一直是报出空指针异常!这里的改正策略是在activity_main.xml文件中新建一个button节点,并且button的id和mainactivity.java中的findviewbyid的那个id相同,而且id不能和fragment_main.xml
的button的id相同!!
相关文章推荐
- Android使用 LruCache 缓存图片
- Android系统自带样式(@android:style/)
- Android代码贡献者编码风格指南
- android 软键盘的显示与隐藏问题的研究
- 基于Android的远程视频监控系统(含源码)
- android strings.xml的特殊字符
- Android 高手进阶之自定义View,自定义属性(带进度的圆形进度条)
- 条码扫描二维码扫描——ZXing android 源码简化
- Android SDK 目录和作用的分析详解
- 将android程序设为启动器,并且开机自动启动
- Android 利用OnDraw实现自定义View
- AT Tool --- android手机发送at指令
- android中控制EditText不可编辑的问题
- Android工作学习第5天之TabHost实现菜单栏底部显示
- java Android SDK安装与环境变量配置以及开发第一个Android程序
- android:scaleType属性
- 解决android线程(thread)中页面跳转动画无效
- 对Android开发者有益的40条优化建议
- 结束adb占用步骤
- android线性布局控件之间的距离设置