Android - 如何在完成 Activity 前显示 AlertDialog?

标签 android

我正在尝试实现这段代码

    if(someCondition){
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setMessage("message")
        .setPositiveButton("Yes", this)
        .setNegativeButton("No", this);
        builder.show();
    }
    finish();

问题是 Activity 在对话框显示之前调用了 finish(),所以它抛出了以下异常

MyActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@40704090 that was originally added here

如何处理?

最佳答案

if(someCondition){
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setMessage("message")
    .setPositiveButton("Yes", this)
    .setNegativeButton("No", this);
    builder.show();
} else {
    finish(); 
}

然后在按钮的处理程序中再次单击完成。

关于Android - 如何在完成 Activity 前显示 AlertDialog?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13000418/

相关文章:

android - 运行 Cardboard Treasure Hunt 示例时出现问题

android - 如何将数据从游标添加到viewpager

android - 在 Android 中动态填充对象的 ListView

java - Android Studio TCPClient无法发送数据

android - 从 NDK 版本 16 更新到 NDK 版本 17 时出错

android - react native 错误 : is also present at [:@react-native-firebase_admob] AndroidManifest. xml:18:13-29

android - 无法在 android Camera 对象上设置自动闪光

java - 为什么不推荐使用 GetServerAuthCodeResult?如何在已安装的应用程序中执行等效操作?

java - 显示24小时格式的时间?

android - 检测android编辑文本中用户输入的位数