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