为了账号安全,请及时绑定邮箱和手机立即绑定

菜单打开时覆盖 BackButton

菜单打开时覆盖 BackButton

MYYA 2021-11-17 15:06:21
我想要实现的是,当用户在MENU可见时单击后退按钮时,menuActual和MENU的状态从可见变为不可见。如果MENU未打开且用户单击返回,则会Toast显示"Press again to Exit",如果您在 2 秒内单击返回,应用程序将关闭。我拥有的代码:@Override    public void finish() {    if (MENU.getVisibility() == View.VISIBLE){        MENU.setVisibility(View.INVISIBLE);        menuActual.setVisibility(View.INVISIBLE);    }else {        if (doubleBackToExitPressedOnce) {            super.onBackPressed();            moveTaskToBack(true);            return;        }else {            this.doubleBackToExitPressedOnce = true;            Toast.makeText(this, "Tap again to Exit!", Toast.LENGTH_SHORT).show();            new Handler().postDelayed(new Runnable() {                @Override                public void run() {                    doubleBackToExitPressedOnce=false;                }            }, 2000);        }    }}`我已经声明 boolean doubleBackToExitPressedOnce = false;该应用程序就显示该Toast语句而言"Press again to Exit",但如果再次单击返回,该应用程序会显示"AppName isn't responding"努力弄清楚为什么会这样,这是漫长的一天。
查看完整描述

1 回答

?
郎朗坤

TA贡献1921条经验 获得超9个赞

做到在onBackPressed这样的:


private boolean doubleBackToExitPressedOnce = false;

private Handler handler;

private Runnable runnable;


@Override

public void onBackPressed() {

    if (MENU.getVisibility() == View.VISIBLE) {

        MENU.setVisibility(View.INVISIBLE);

        menuActual.setVisibility(View.INVISIBLE);

        return;

    }


    if (!doubleBackToExitPressedOnce) {

        doubleBackToExitPressedOnce = true;

        Toast.makeText(this, "Tap again to Exit!", Toast.LENGTH_SHORT).show();


        handler = new Handler();

        handler.postDelayed(runnable = new Runnable() {


            @Override

            public void run() {

                doubleBackToExitPressedOnce = false;

            }

        }, 2000);

        return;

    }


    // Removes the callBack

    handler.removeCallbacks(runnable);


    // Replace this next line with finishAffinity() if you want to close the app.

    super.onBackPressed();

}


查看完整回答
反对 回复 2021-11-17
  • 1 回答
  • 0 关注
  • 154 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信