gpt4 book ai didi

java - 如何在 AlertDialog 中设置 AlertDialog.finish()?

转载 作者:太空狗 更新时间:2023-10-29 16:13:24 26 4
gpt4 key购买 nike

我目前正在使用需要使用大量 AlertDialogs 的应用程序。我目前在这里编写了一个基本的代码:

protected void StopButton () {
AlertDialog.Builder StopDialog = new AlertDialog.Builder(MainActivity.this);
StopDialog.setTitle(R.string.Stop_Title);
StopDialog.setMessage(R.string.Stop_Message);
StopDialog.setPositiveButton(R.string.Yes_Button, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
((Protoype2) getApplication()).setRequestingLocationUpdates(false);
finish();
}
});
StopDialog.setNegativeButton(R.string.No_Button, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
((Protoype2) getApplication()).setRequestingLocationUpdates(true);
}
});
StopDialog.setNeutralButton(R.string.Negative_Button, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//Closes box
finish();
}
});
AlertDialog alert = StopDialog.create();
alert.show();
}

StopButton 起作用,当我调用它时 Dialog 出现。然而,finish();功能不起作用。

经过审查,我发现 finish();没有完成对话框,而是整个应用程序。我知道我需要在其中获取 AlertDialog.cancel。

问题是这样的:如您所见,AlertDialog 仅在 StopDialog 完成后创建。

如何在 StopDialog 完成之前设置 AlertDialog.finish()?

最佳答案

finish() 替换为 dialog.dismiss(),如下所示:

AlertDialog.Builder StopDialog = new AlertDialog.Builder(TestActivity.this);
StopDialog.setTitle("Title");
StopDialog.setMessage("Stop");
StopDialog.setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
((Protoype2) getApplication()).setRequestingLocationUpdates(false);
dialog.dismiss();
}
});
StopDialog.setNegativeButton(R.string.no, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
((Protoype2) getApplication()).setRequestingLocationUpdates(true);
}
});
StopDialog.setNeutralButton("Neutral", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//Closes box
dialog.dismiss();
}
});
AlertDialog alert = StopDialog.create();
alert.show();

关于java - 如何在 AlertDialog 中设置 AlertDialog.finish()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37084621/

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