任何人都可以告诉我这有什么问题:
package applicationTest.ppr.com;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class MainClass extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView tv = (TextView)findViewById(R.id.text);
tv.setText("Merdas para teste");
setContentView(R.layout.main);
}
}
我的main.xml和android清单都很好。当我添加textview内容时,应用程序崩溃,并更改了main.xml中指定的默认文本。如果我删除它,应用程序工作..但我无法弄清楚为什么...
非常感谢!
答案 0 :(得分:2)
在获取任何视图之前,您应该设置活动的内容 所以试试这个:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TextView tv = (TextView)findViewById(R.id.text);
tv.setText("Merdas para teste");
}
答案 1 :(得分:1)
您需要在致电setContentView
之前致电findViewById
。
SetContentView
是构建视图并将其附加到窗口的内容。由于您的调用被反转,findViewById
可能返回null,导致setText
调用抛出NPE。