我是Android的新手。当我运行以下代码时,我得到“不幸的应用已停止”。
public class MainActivity extends Activity {
Button btn;
EditText edit;
@Override
protected void onCreate(Bundle savedInstanceState) {
btn=(Button)findViewById(R.id.button);
edit=(EditText)findViewById(R.id.text);
super.onCreate(savedInstanceState);
setContentView(R.layout.test_click);
btn.setOnClickListener(onClickList);
}
private OnClickListener onClickList= new OnClickListener() {
@Override
public void onClick(View v) {
btn.setText(edit.getText());
}
};
答案 0 :(得分:1)
btn=(Button)findViewById(R.id.button);
edit=(EditText)findViewById(R.id.text);
super.onCreate(savedInstanceState);
setContentView(R.layout.test_click);
您在将布局设置为“活动”之前尝试查找视图。所以先调用setContentView()
,然后找到你想要的任何视图。
super.onCreate(savedInstanceState);
setContentView(R.layout.test_click);
btn=(Button)findViewById(R.id.button);
edit=(EditText)findViewById(R.id.text);
答案 1 :(得分:0)
目前,在从xml访问视图之前,在设置Activity .Call setContentView
的布局之前,您正在访问当前Activity的视图:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.test_click); // set layout here
btn=(Button)findViewById(R.id.button);
edit=(EditText)findViewById(R.id.text);
btn.setOnClickListener(onClickList);
}
答案 2 :(得分:0)
致电findViewById()
后,您应致电setContentView()
。