如何实现按两次退出的效果

思路:实现的思路其实很简单:定义一个isExit=false,写一个函数,


函数里面实现的功能是:当isExit是false的时候,让他变为true,


用Toast显示“再按一次退出程序”。用一个handler延迟两秒后才进行执行:


让他变回false为了下次实现同样的功能。否则就是true,


然后就是OnKeyDown函数的实现,点击时调用上面的函数


具体实现如下:


定义一个isExit=false;


/*
* 设置isExit来判断是否退出
*
* */

private boolean isExit=false;


写一个函数exit()供KEYDOWN调用


/*
* 判断isExit的状态,判断是否退出
*
* */

private void exit()
{
     if (!isExit)
     {
        isExit=true;

        Toast.makeText(MainActivity.this,"再按一次退出程序",Toast.LENGTH_SHORT).show();

        handler.sendEmptyMessageDelayed(0,2000);
     }
    else
     {
       finish();
       System.exit(0);
     }
}


写一个Handler,延迟两秒后把isExit的状态调回来,给下一次使用



/*
* 延长两秒,如果没有继续按下退出键的话,isExit依旧是false的状态
*
* */

Handler handler=new Handler()
{
    @Override
    public void handleMessage(Message msg)
    {
        super.handleMessage(msg);
        isExit=false;
    }
};


最后一个OnKeyDown方法的实现,仅仅需要调用exit这个函数便可


/*
* 监控用户按下的按钮状态
*
* */

@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
    if (keyCode==KeyEvent.KEYCODE_BACK)
    {
      exit();
      return false;
    }
    return super.onKeyDown(keyCode, event);
}

OK,按两次退出的功能到此就全部结束了;










  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值