zoukankan      html  css  js  c++  java
  • Android中再按一次退出实现

    很多应用中都有一个在用户后退的时候显示“再按一次退出”的提醒,这个怎么实现呢?有两种方式

    第一种方式(最常用)

    	long waitTime = 2000;  
    	long touchTime = 0; 
    	@Override
    	public boolean onKeyDown(int keyCode, KeyEvent event) {
    		if(event.getAction() == KeyEvent.ACTION_DOWN && KeyEvent.KEYCODE_BACK == keyCode) {  
    	        long currentTime = System.currentTimeMillis();  
    	        if((currentTime-touchTime)>=waitTime) {  
    	        	//让Toast的显示时间和等待时间相同
    	            Toast.makeText(this, "再按一次退出", (int)waitTime).show();  
    	            touchTime = currentTime;  
    	        }else {  
    	            finish();  
    	        }  
    	        return true;  
    	    }  
    	    return super.onKeyDown(keyCode, event);  
    	}

    第二种方式

    重写onBackPressed方法直接监听返回键

    	@Override
    	public void onBackPressed() {
    		
            long currentTime = System.currentTimeMillis();  
            if((currentTime-touchTime)>=waitTime) {  
            	//让Toast的显示时间和等待时间相同
                Toast.makeText(this, "再按一次退出", (int)waitTime).show();  
                touchTime = currentTime;  
            }else {  
                finish();  
            }  
    	     
    	}

    这种方法虽然写法简单,但是这种方法缺只适用于Android 2.0以后.

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



  • 相关阅读:
    springcloud-Ribbon之手写轮询算法
    springcloud-Ribbon负载均衡规则的替换
    git本地库和远程库的连接和断开
    本地项目第一次提交到码云或github
    python基础语法练习
    Xss-labs-level11-15
    Vulnhub-靶机-ESCALATE_LINUX: 1
    Xss-labs-level7-10
    Vulnhub-靶机-DC: 6
    Jenkins入门之执行Powershell脚本
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6469218.html
Copyright © 2011-2022 走看看