在eclipse/android AVD中,我得到"不幸的是,已经停止"
我已经查看了其他关于这方面的问题,但没有任何帮助。
我认为是我的代码有问题,因为当我注释掉代码时,它运行得很好。然而,android代码检查器thingy没有显示任何错误。
这是我的代码:
public TextView TextView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
setTextView();
}
public void setTextView(){
TextView tv = (TextView);
findViewById(R.id.textView1);
tv.setText("4");
}
我也试过了,但也发生了同样的情况
public TextView TextView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TextView tv = (TextView);
findViewById(R.id.textView1);
tv.setText("4");
}
我也不确定我的代码结构是否正确。
TextView tv = (TextView);
将tv
设为null
,当您执行tv.set...
时,它将抛出NullPointerException
。
请尝试以下代码。
TextView tv = (TextView)findViewById(R.id.textView1);
tv.setText("4");
"然而,android代码检查器没有显示任何错误。"
如果您提到eclipse在运行之前突出显示代码中错误的方式,那么它不会捕捉到这样的错误。您的错误是运行时错误,这意味着您的代码完全能够编译。
ecplise所做的检查只会发现导致代码无法编译的错误(主要是打字错误)。
要捕获运行时错误,您需要在ecplise中打开Logcat视图,并在应用程序运行/force关闭时查看日志。
那里会有一个堆栈跟踪来解释发生了什么。