为什么使用EditText进行NullPointerException?

时间:2016-01-10 22:00:54

标签: android nullpointerexception

抱歉,这可能是初学者的问题。这是我的MainActivity.java的一部分:

public class MainActivity extends Activity{
...
        EditText et101 = (EditText) findViewById(R.id.editText101);
...
        public myOwnClass(String my_id){
                et000.setText(my_id)
}

为什么在myOwnClass中使用et101时会获得NPE?这是错误:

Caused by: java.lang.NullPointerException

错误在该行中,其中EditText et101 = (EditText) findViewById(R.id.editText101);

1 个答案:

答案 0 :(得分:0)

您可以将EditText声明为类级变量,并在onCreate中初始化

像这样的东西

public class MainActivity extends Activity {

    EditText et101;

    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.yourActivity);

    et101 = (EditText) findViewById(R.id.editText101);

    ...
    }

    public void myOwnClass(String my_id){
        et101.setText(my_id)
    }
}

https://www.youtube.com/live_chat?is_popout=1&v=s2DZdjT0gtc中的这个指南可能是一个很好的参考资料