不幸的是,Android中的应用程序已经停止

不幸的是,Android中的应用程序已经停止,android,eclipse,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)findViewByI

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

    }
};
错: 问题: 您正在尝试在将布局设置为“活动”之前查找视图。因此,请先调用
setContentView()
,然后可以找到所需的任何视图

对的:
当前,在设置活动布局之前,您正在访问当前活动中的视图。从xml访问视图之前,请调用
setContentView
,如下所示:

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);

}

您应该在调用
setContentView()
后调用
findViewById()

,因为您是新手,这里有一些关于这个论坛的建议-发布错误的堆栈跟踪(来自
logcat
输出)-您会得到更好的答案,人们会对您更好。祝你好运
super.onCreate(savedInstanceState);
setContentView(R.layout.test_click);
btn=(Button)findViewById(R.id.button);
edit=(EditText)findViewById(R.id.text);
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);

}