最近刚刚开始学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相同!!