再次按返回键退出

3

我有一个应用程序,当用户点击返回按钮时,我想要显示一个Toast提示“再次按下返回键退出”,但是我在这个部分遇到了问题。在这段代码中,当点击返回按钮时,应用程序完全关闭而没有Toast提示,也不能再次点击返回按钮。请帮助我。

   public void onStop(){
        super.onStop();
        if(key == 1){
            key =0;
            finish();
        }else{
            Toast.makeText(getApplicationContext(), "press back Button again to exit", Toast.LENGTH_SHORT).show();
        key++;
        }
            return;
        }
2个回答

4
@Override
public void onBackPressed() {
if (doubleBackToExitPressedOnce) {
    super.onBackPressed();
    return;
}

this.doubleBackToExitPressedOnce = true;
Toast.makeText(this, "Please click BACK again to exit", Toast.LENGTH_SHORT).show();

new Handler().postDelayed(new Runnable() {

    @Override
    public void run() {
        doubleBackToExitPressedOnce=false;                       
    }
}, 2000);
} 

您可以通过此链接进行查看:点击两次返回按钮退出一个活动

同样的问题。


我已经在我的回答中提到了这段代码的链接。 - Anand Singh
抱歉,我没有看到第一次提交。 :-) - Abhishek
谢谢亲爱的avi,我看到了链接,但我也有问题,现在有了你的帮助,我可以解决它了。问题出在doubleBackToExitPressedOnce这段代码上,但现在已经解决了。谢谢。 - saeid mirzapour
@avi 请问,在这段代码中,"2000"是什么意思? - saeid mirzapour
哦,这是用于 Toast 的,谢谢。 - saeid mirzapour
显示剩余2条评论

2

你需要在 onBackPressed() 方法中编写代码。试试这段代码:

@Override 
public void onBackPressed() { 
    if(key == 1){
            key =0;
            finish();
        }else{
            Toast.makeText(getApplicationContext(), "press back Button again to exit", Toast.LENGTH_SHORT).show();
        key++;
        }
}

我建议您参考这篇文章:点击两次返回按钮退出活动


谢谢你,亲爱的Anand,但是这段代码,同样我也有问题。 - saeid mirzapour
我希望现在已经解决了? - Anand Singh
将关键字设为全局变量,并将其初始化为0。 - Anand Singh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接