[英]button.setOnClicklistener cause unfortunately app_name has stopped in kepler
I have an app that contain 4 buttons , 2 in MainActivity and 2 in custom Dialog. 我有一个包含4个按钮的应用程序,其中2个位于MainActivity中,而2个位于自定义对话框中。 when I call setOnClickListener() for 2 buttons in custom Dialog , it cause Unfortunately (app_name) has stopped in virtual machine
当我在自定义对话框中为2个按钮调用setOnClickListener()时,它导致不幸的是(app_name)已在虚拟机中停止
public class MainActivity extends Activity implements OnClickListener{
Button btnAdd;
Button btnSet;
Button btnDlt;
Button btnCancel;
Dialog getDialog = new Dialog(this);
ListView taskList;
EditText getTask;
ArrayList<String> listItem = new ArrayList<String>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setUpVeiw();
setUpListView();
setUpOnClick();
}
private void setUpVeiw() {
btnAdd = (Button) findViewById(R.id.btnAddTask);
btnDlt = (Button) findViewById(R.id.btnDlt);
btnSet = (Button) findViewById(R.id.btnSet);
btnCancel = (Button) findViewById(R.id.btnCancel);
getTask = (EditText) findViewById(R.id.editText1);
}
private void setUpListView() {
taskList = (ListView) findViewById(R.id.listView1);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, listItem);
taskList.setAdapter(adapter);
listItem.add("Ali");
}
private void setUpOnClick() {
btnAdd.setOnClickListener(this);
btnDlt.setOnClickListener(this);
btnSet.setOnClickListener(this);
btnCancel.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btnAddTask:
getDialog.setContentView(R.layout.get_task_dialog);
getDialog.setTitle(R.string.add_task);
getDialog.show();
break;
case R.id.btnDlt:
break;
case R.id.btnSet:
break;
case R.id.btnCancel:
break;
default:
break;
}
}
}
it cause Unfortunately (app_name) has stopped in virtual machine
Because you are not initializing that two buttons with dialog view. 因为您没有用对话框视图初始化这两个按钮。 your are trying to initialize the that two buttons from
R.layout.activity_main
where they don't exists. 您正在尝试初始化
R.layout.activity_main
中不存在的两个按钮。
Try following code for both dialog buttons
尝试对两个
dialog buttons
都遵循以下代码
In following code [for example] i am assuming that your btnCancel
is inside dialog
( R.layout.get_task_dialog
) 在下面的代码中,例如,我假设您的
btnCancel
在dialog
( R.layout.get_task_dialog
)
btnCancel = (Button)getLayoutInflater().inflate(R.layout.get_task_dialog, null).findViewById(R.id.btnCancel);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.