Android代码的大多数示例都是如下所示的示例2完成的,为什么它比examaple 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);
}
}
答案 0 :(得分:3)
你可以做到
HelperClass helperClass = new HelperClass();
但你做不到
EditText extiText = (EditText) findViewById(R.id.editText1);
与示例1相同。
因为在onCreate
调用setContentView(R.layout.layout);
时加载的布局文件以及R.id.editText1
是此布局的一部分,所以在布局加载之前,您无法访问它。