您的位置:首页 > 移动开发 > Android开发

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相同!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: