我有一个奇怪的错误,当我将文本设置为EditText时,我收到NullPointerException错误。 代码如下所示:
EditText editTxt;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
editTxt = (EditText) findViewById(R.id.edtTxt);
if(someCondition) {
if (editTxt!=null)
editTxt.setText("HelloWorld");
}
}
}
答案 0 :(得分:1)
在这个小代码中,应该只有一个错误
editTxt = (EditText)findViewById(R.id.edtTxt);
你的xml中的id与edtTxt不匹配。如果是,则尝试清理一次然后运行
答案 1 :(得分:0)
堆栈跟踪中引用的对象未初始化。你从未要求它指向堆上的新对象。
我把钱花在R
上。我没有看到它被初始化的地方。
答案 2 :(得分:0)
请尝试以下代码:
EditText editTxt = (EditText) findViewById(R.id.text);
if (editTxt!=null) {
editTxt.setText("HelloWorld");
}
答案 3 :(得分:0)
//Got it working like this,
String hello = "HelloWorld!";
EditText editTxt;
@Override public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
editTxt = (EditText)findViewById(R.id.edtTxt);
if(someCondition) {
if(editTxt!=null) editTxt.setText(hello);
}
}