android - 在 android 中按下后退按钮时保持我的 Activity

标签 android overriding back

我正在实现这个应用程序,我需要在按下后退键时暂停它,或者显示一个对话框来询问用户是否真的想退出。

我确实重写了后退键以显示一个带有 2 个按钮的对话框,是的并取消,但无论如何 Activity 都已完成而没有显示对话框

我用来覆盖后退键的代码如下

// Overriding The Back Key To Stop The Music If Running
@Override
public void onBackPressed() {

    super.onBackPressed();
    show_are_you_sure_exit();
}

函数如下

public void show_are_you_sure_exit() {
    final AlertDialog show_are_you_sure_delete = new AlertDialog.Builder(
            this).create();
    show_are_you_sure_delete
            .setMessage("Are You Sure You Want To Exit?! Your Pregress Won't Be Saved");
    show_are_you_sure_delete.setButton("Yes",
            new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface StopActivityDialog,
                        int which) {
                    start_main_screen_intent();
                    finish();
                }
            });
    show_are_you_sure_delete.setButton2("Cancel",
            new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {
                    return;
                }
            });

    show_are_you_sure_delete.show();

}

用 start_main_screen_intent() 开始另一个 Activity

谢谢你的帮助:)

最佳答案

你正在调用 super.onBackPressed() 来调度事件并终止 Activity 你想要的是

@Override
public void onBackPressed() {
    show_are_you_sure_exit();
}

这样你就可以按照自己的方式处理事件,而不是正常的方式

关于android - 在 android 中按下后退按钮时保持我的 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8318117/

相关文章:

ios - 导航 Controller 中 UIViewController 缺少后退按钮

android - 在 Android 应用程序中有一个 "back"按钮是否合理?

android - 定期将数据从服务发送到绑定(bind) Activity

android - 需要特定 Android 权限的 Android API 列表

java - Android 应用程序崩溃时未获取堆栈跟踪

java - 避免覆盖 Java 中的所有抽象方法

actionscript-3 - 如何使用ASC2.0修复Error “A conflict exists with definition * in namespace public.”?

android - 将 url 加载到 WebView 时显示进度栏

java - 在java中,我们可以通过传递父类(super class)方法中使用的参数的子类来覆盖方法吗?

css - 浏览器后退按钮在溢出 : visible div 中的命名 anchor 上不起作用