不幸的是,应用已停止在Android中

时间:2014-01-30 06:29:57

标签: android eclipse

我是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());

    }
};

3 个答案:

答案 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()