在AVD上运行程序时,程序闪退并报错unfortunately,xx has stopped

在AVD上运行程序时,程序闪退并报错unfortunately,xx has stopped

事实上,这个错误是事出有因的,而非AVD或者AS有问题。
由于刚开始学习安卓,所以还没有习惯如何对安卓程序进行检错。运行在模拟器上的程序实际上是可以在左下角的run窗口内找到运行过程的。

在run窗口中发现报错Attempt to invoke virtual method ‘void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)’ on a null object reference

上网查这个错误一般是在你的程序中findViewbyID时没有找到对应xml中对应的控件的id造成的。最后发现确实是我自己在java中有:

button1 = (Button)findViewById(R.id.request);

而在对应的xml中没有id为request的button。

总结一下:

(1)在AVD上运行程序闪退,并抛出unfortunately,xx has stopped一般是因为你的xml和java间的联系有问题,这时最好先检查你的xml是否对应。奇怪的是这种错误在build项目时并不会报错,只有真正运行的时候才会出现,麻烦有大神可以在评论区里解答一下。
(2)出现问题Attempt to invoke virtual method ‘void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)’ on a null object reference,是在你的java程序中的findViewById(xx_id)没有在对应xml文件中找到id为xx_id的控件。

你可能感兴趣的:(Android开发)