zoukankan      html  css  js  c++  java
  • Android后退事件的处理

    当我们想退出应用程序时,一般都会采用按物理按键(后退键)的做法,当用户在按两次后退键的时候就将应用程序退出,即销毁当前的Activity();

    重写onBackPressed()方法即可:
    代码如下:
         privateintclickCount=0;
          @Override
          publicvoidonBackPressed() {
                //TODOAuto-generated method stub
                //super.onBackPressed();
                
                if(clickCount< 1){
                      Toast.makeText(this,"再按一次后退键退出应用程序!",Toast.LENGTH_SHORT).show();
                      clickCount++;
                }else{
                      finish();
                }
          }
     
    注意,需要将父类的onBackPressed()方法去掉,否则无论后面怎么写当按一次后退键的时候程序就会退出。
    但这种写法有不好的地方,就是当用户在不小心按下两次后退键的时候都会退出,这样就不好,没有很好的用户体验。
    为此我们将程序改进,当用户在按下第二次次退出键后如果和第一次之间的时间超过1s,我们就不将程序退出,视为无效的操作。
     
    改进的代码如下:
    privatelonglastClickTime= 0;
       @Override
          publicvoidonBackPressed() {
                //TODOAuto-generated method stub
                //super.onBackPressed();
          
          if(lastClickTime<= 0){
                Toast.makeText(this,"再按一次后退键退出应用程序!",Toast.LENGTH_SHORT).show();
                lastClickTime= System.currentTimeMillis();
          }else{
                longcurrentClickTime = System.currentTimeMillis();
                if(currentClickTime-lastClickTime< 1000){
                      finish();
                }else{
                      Toast.makeText(this,"再按一次后退键退出应用程序!",Toast.LENGTH_SHORT).show();
                      lastClickTime= currentClickTime;
                }
          }}
  • 相关阅读:
    Cannot retrieve the latest commit at this time.
    Github上搭建个人博客记录
    ESPCN超分辨率汇总
    ESPCN处理彩色图像代码
    配置caffe过程中,生成解决方案出错。无法打开包括文件: “gpu/mxGPUArray.h”
    未定义变量 "caffe" 或类 "caffe.reset_all"
    windows下caffe安装配置、matlab接口
    Python3:pyecharts数据可视化插件
    Django:用户登录实例
    Django:提交表单时遇到403错误:CSRF verification failed
  • 原文地址:https://www.cnblogs.com/changjl/p/4117882.html
Copyright © 2011-2022 走看看