zoukankan      html  css  js  c++  java
  • Android退出程序时的"再按一次退出"实现

    个人觉得当用户按下后退键时,出现"再按一次退出"的提示防止误操作比弹出一个对话框是会更人性化的。话不多说上代码:

    第一种:重写onKeyDown来监听:

    [java] view plaincopy
     
    1.        long waitTime = 2000;  
    2. long touchTime = 0;  
    3.   
    4. @Override  
    5. public boolean onKeyDown(int keyCode, KeyEvent event) {  
    6.     if(event.getAction() == KeyEvent.ACTION_DOWN && KeyEvent.KEYCODE_BACK == keyCode) {  
    7.         long currentTime = System.currentTimeMillis();  
    8.         if((currentTime-touchTime)>=waitTime) {  
    9.             Toast.makeText(this"再按一次退出", Toast.LENGTH_SHORT).show();  
    10.             touchTime = currentTime;  
    11.         }else {  
    12.             finish();  
    13.         }  
    14.         return true;  
    15.     }  
    16.     return super.onKeyDown(keyCode, event);  
    17. }  


    第二种是重写onBackPressed方法直接监听返回键:

    [java] view plaincopy
     
    1.          
    2.        long waitTime = 2000;  
    3. long touchTime = 0;  
    4.   
    5. @Override  
    6. public void onBackPressed() {  
    7.     long currentTime = System.currentTimeMillis();  
    8.     if((currentTime-touchTime)>=waitTime) {  
    9.         Toast.makeText(this"再按一次退出", Toast.LENGTH_SHORT).show();  
    10.         touchTime = currentTime;  
    11.     }else {  
    12.         finish();  
    13.     }  
    14. }  

    实现代码是一样的只是重写的方法不同罢了。

    如果你需要同时重写这两个方法,可能要注意一些问题啦!系统先是onKeyDown,如果return true了,就不会onBackPressed啦!

    好了,今天和大家分享了一个简单而又实用的功能。谢谢大家。

  • 相关阅读:
    第五天——编码进阶(三)
    vue系列---------vuejs基础学习3.0
    前端随心记---------vuejs基础学习2.2
    前端随心记---------HTML5+CSS系列5.0
    前端随心记---------Ajax
    前端随心记---------前后端验证用户名案例(php,mysql结合)
    前端随心记---------MySQL
    前端随心记---------PHP
    vue系列---------vuejs基础学习2.1
    前端随心记---------HTML5+CSS系列4.0
  • 原文地址:https://www.cnblogs.com/tdalcn/p/3460887.html
Copyright © 2011-2022 走看看