java.lang.NullPointerException尝试设置和编辑文本小部件时出错

时间:2012-02-07 10:56:41

标签: android android-layout nullpointerexception

我有一个奇怪的错误,当我将文本设置为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");
        }
    }
}

4 个答案:

答案 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); 
    } 
}