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;
                }
          }}
  • 相关阅读:
    node.js结合wechaty实现微信机器人[基础篇]
    .env文件为NodeJS全局环境变量
    基于jquery实现一个提示插件
    Puppeteer实现一个超简单的自动化机器人
    Vue高仿阿里动态banner,制作组件
    css不常用属性
    Vue表单校验失败滚动到错误位置
    C# Func委托
    深入解析C# 4th 笔记(第一章)
    C# 笔记 XML基础
  • 原文地址:https://www.cnblogs.com/changjl/p/4117882.html
Copyright © 2011-2022 走看看