在eclipse / android AVD中,我得到了#34;不幸的是,已经停止"
我已经检查了其他Q,但没有人帮忙。
我认为这是我的代码有问题,因为当我评论代码时,它运行正常。但是,android code-checker 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");
}
我不确定我的代码结构是否正确。
答案 0 :(得分:2)
TextView tv = (TextView);
将tv
设为null
,当您执行tv.set...
时,会抛出NullPointerException
。
尝试以下代码。
TextView tv = (TextView)findViewById(R.id.textView1);
tv.setText("4");
答案 1 :(得分:1)
“然而,android代码检查器没有显示任何错误。”
如果您指的是在运行之前eclipse突出显示代码中的错误的方式,它将不会捕获这样的错误。您的错误是运行时错误,这意味着您的代码完全能够编译。
ecplise所做的检查只会捕获导致代码无法编译的错误(主要是拼写错误)。
要捕获运行时错误,您需要在ecplise中打开Logcat视图,并在应用程序运行/强制关闭时查看日志。
那里会有一个堆栈跟踪来解释发生了什么。