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;
                }
          }}
  • 相关阅读:
    Windows Vista 桌面窗口管理器(1)
    Thinking in Java读书笔记――数组
    php图片上传存储源码,可实现预览
    php at(@)符号的用法简介
    Apache如何添加虚拟目录
    也发个PHP人民币金额数字转中文大写
    PHP Get Current URL
    Zend Studio下的PHP代码调试
    PHP url 加密解密函数
    使用新浪微博php SDK的一点记录
  • 原文地址:https://www.cnblogs.com/changjl/p/4117882.html
Copyright © 2011-2022 走看看