大多数Android代码示例都是像下面的示例2那样完成的,为什么它比示例1中显示的要好得多?
示例1 class TestActivity extends Activity() {
HelperClass helperClass = new HelperClass();
EditText extiText = (EditText) findViewById(R.id.editText1);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
}
示例2 class TestActivity extends Activity() {
HelperClass helperClass;
EditText editText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
helperClass = new HelperClass();
editText = (EditText) findViewById(R.id.editText1);
}
}
你可以做
HelperClass helperClass = new HelperClass();
但是你不能
EditText extiText = (EditText) findViewById(R.id.editText1);
类似例1。
因为布局文件是在onCreate
in调用setContentView(R.layout.layout);
时加载的,因为R.id.editText1
是这个布局的一部分,所以在布局被加载之前你不能访问它。
了解onCreate()