//About Button in the principal menu
final Button button3 = (Button) findViewById(R.id.button3);
button3.setOnClickListener(
new OnClickListener() {
public void onClick(View v) {
//set up dialog
Dialog dialog = new Dialog(MainMenu.this);
dialog.setContentView(R.layout.maindialog);
dialog.setTitle("About");
dialog.setCancelable(true);
//now that the dialog is set up, it's time to show it
dialog.show();
Button closeButton = (Button) dialog.findViewById(R.id.Button01);
// closeButton.setOnClickListener(new Button.OnClickListener() {
// public void onClick(View view) {
// dialog.dismiss();
// }
// });
if(v==closeButton)
dialog.dismiss();
}
});
我有此代码,但解雇不起作用。
我有一个“关于”按钮,当我单击它时会显示对话框窗口。
然后对话框窗口上有一个“确定”按钮,该“确定”按钮应关闭该对话框,但关闭不起作用。
你能帮我知道为什么吗?
最佳答案
首先,您的Dialog必须在您的类范围内,因此您需要声明
public Dialog dialog;
在任何方法之外。然后,在您的
onCreate()
方法中,像创建对话框一样创建对话框。仅将show()
和dismiss()
调用留给OnClickListeners。您的按钮将如下所示:
Button button3 = (Button) findViewById(R.id.button3);
button3.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
dialog.show();
}
});
Button closeButton = (Button) dialog.findViewById(R.id.Button01);
closeButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
dialog.dismiss();
}
});
同样,提出一个适合您的命名约定而不是随机大写或不大写资源名称(例如Button03与button1)也很好。
关于android - 无法关闭自定义对话框,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6406172/