gpt4 book ai didi

android - 即使关闭后也会弹出警报对话框

转载 作者:行者123 更新时间:2023-12-05 00:17:44 25 4
gpt4 key购买 nike

我遇到了一个典型的问题,但对我来说似乎很奇怪。详细信息是这样的 - 在我的应用程序的 Activity 中,有编辑文本和提交按钮。在编辑文本中填写数据后,用户可以单击提交按钮。单击提交按钮后,根据用户输入的值,将显示两个警报对话框中的一个。一种是成功,一种是失败。

问题是,当用户输入无效数据并单击提交按钮时,会打开失败警报对话框。我在失败的警报对话框上有一个按钮(确定),单击它后我编写了 dialog.dismiss(); 使其消失,以便用户可以重新检查数据并且可以修改。但问题是,在重新检查和修改数据时,如果他更改方向,即使没有单击提交按钮,也会再次弹出失败的警报对话框。请提出建议。

额外详细信息(尽管对于此问题可能不是必需的):在更改方向时,会重新创建 Activity 。因此,我将当前数据保存在 onSavedInstanceState() 中,并在 onCreate() 方法中检索它以设置编辑文本中的值。一切正常,但一旦单击提交按钮,就会出现相应的警报对话框。然后改变方向后,对话框再次弹出。我确信我在 onClick() 方法中编写了 showDialog(1); ,但为什么控件会返回到 onClick 并显示警报对话框,即使没有单击。

protected Dialog onCreateDialog(int id) {
switch(id){
case 0:
return new AlertDialog.Builder(this)
.setMessage("Success!")
.setIcon(R.drawable.success)
.setPositiveButton("OK",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
}).show();
case 1:
return new AlertDialog.Builder(this)
.setMessage("Failed")
.setIcon(R.drawable.failure)
.setPositiveButton("OK",
new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
return;
}
}).show();
}
return null;
}

这是显示警报对话框的方法。

public void onClick(View v) {
switch (v.getId()) {
//Here there are other cases too.
case R.id.submit:
getEditTexts();
validator();
break;
}
}

public void validator() {
if(generator.receiveVal(0,0,sudo)) {
showDialog(0);
}
else if(!generator.receiveVal(0,0,sudo)) {
showDialog(1);
}
}

最佳答案

只需尝试将 .create() 替换为 .show()。在你的情况是这样的:

case 1:
return new AlertDialog.Builder(this)

.setMessage("Failed")
.setIcon(R.drawable.failure)
.setPositiveButton("OK",
new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {

dialog.dismiss();

return;
}
}).create(); //Here replaced .show with .create()

关于android - 即使关闭后也会弹出警报对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12436370/

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