博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android实现退出时提示再按一次退出
阅读量:7023 次
发布时间:2019-06-28

本文共 1860 字,大约阅读时间需要 6 分钟。

hot3.png

思路:

用定时器(timer)计时,当用户第一次点返回键时提示“再按一次退出”,两秒之内再点一次退出。不点就判断为误触。

package com.example.themtest;import java.util.Timer;import java.util.TimerTask;import android.app.Activity;import android.os.Bundle;import android.view.KeyEvent;import android.view.Menu;import android.widget.Toast;public class MainActivity extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);    }    @Override    public boolean onCreateOptionsMenu(Menu menu) {        // Inflate the menu; this adds items to the action bar if it is present.        getMenuInflater().inflate(R.menu.main, menu);        return true;    }    //重写onKeyDown方法,判断是否点击退出键    @Override    public boolean onKeyDown(int keyCode, KeyEvent event) {        // TODO Auto-generated method stub        switch (keyCode) {        case KeyEvent.KEYCODE_BACK:            handleCilick();//点击就跳转到此方法            return true;        default:            break;        }        return super.onKeyDown(keyCode, event);    }    /*    *此变量用来计算点的次数,初始值为false,第一点设置为true,如果第二次点就为false,退出    *如果没点就不做操作    */     private boolean isDoubleClick;     Timer timer = new Timer();     private void handleCilick() {        // TODO Auto-generated method stub        System.out.println(isDoubleClick);        if (!isDoubleClick) {            isDoubleClick = true;            //第二次点击,用到了TimerTask            Toast.makeText(this, "再按一次推出", Toast.LENGTH_SHORT).show();            timer.schedule(new TimerTask() {                @Override                public void run() {                    // TODO Auto-generated method stub                    isDoubleClick = false;                }            }, 2000);        } else {            finish();            System.exit(0);        }    }}

转载于:https://my.oschina.net/u/2282721/blog/475126

你可能感兴趣的文章
Python时间和日期
查看>>
二叉树节点的删除
查看>>
计算机网络面试总结
查看>>
在线看电视(清晰方便)
查看>>
AngularJs中,如何在render完成之后,执行Js脚本
查看>>
【BZOJ4298】[ONTAK2015]Bajtocja
查看>>
为什么C语言中int的表示范围是-32768~32767
查看>>
有关位运算的基础知识和应用
查看>>
框架dubbox的简单使用
查看>>
codevs1163访问艺术馆 树形dp
查看>>
java获取登陆用户的IP地址
查看>>
JAVA线程控制
查看>>
Java关键字final、static使用总结
查看>>
转载-Objective-C内存管理详解(含示例代码)
查看>>
uchome中模糊搜索的实现
查看>>
深入理解MVC原理
查看>>
LCD之mipi DSI接口驱动调试流程【转】
查看>>
内核中dump_stack()的实现,并在用户态模拟dump_stack()【转】
查看>>
五子棋AI的思路
查看>>
AtomicInteger和count++的比较
查看>>