gpt4 book ai didi

android - 无法关闭自定义对话框

转载 作者:行者123 更新时间:2023-11-29 14:29:08 27 4
gpt4 key购买 nike

//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() 方法中,像您已有的那样创建对话框。只保留对 OnClickListeners 的 show()dismiss() 调用。

你的按钮看起来像:

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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com