后退按钮,最后一次活动 [英] Back button and last activity

查看:116
本文介绍了后退按钮,最后一次活动的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的应用程序链的一些活动。

My app chains some activities.

如果您preSS后退按钮,你回去翻阅旧的活动,那么你突然退出应用程序!

if you press the back button, you go back through old activities then you suddenly quit the application !

所以我需要显示一个消息,如你真的想退出,如果它是在堆栈中的最后一项活动

so I need to show a message like "do you really want to exit" if it's the last activity on stack

我知道如何重写后退按钮,但我不明白怎么知道有多少活动是历史

I know how to override the back button but i can't figure how to know how many activity are in history

@Override
public boolean onKeyDown(int keyCode, KeyEvent event)  {
    if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
        // Is it the last activity on stack ? 
        // so show confirm dialog
        return true;
    }

    return super.onKeyDown(keyCode, event);
}

请帮忙。

推荐答案

就可以实现,使用结束()函数

you can achieve that using the finish() function

public void finish() {
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setMessage("do you really want to exit?");
        builder.setCancelable(false);
        builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int id) {
                quit();
            }
        });
        builder.setNegativeButton("No", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int id) {
                dialog.cancel();
            }
        });
        AlertDialog alert = builder.create();
        alert.show();
    }

    public void quit() {
        super.finish();
    };

这篇关于后退按钮,最后一次活动的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆