一个双击返回键退出的demo
来源:互联网 发布:淘宝死人衣服分辨 编辑:程序博客网 时间:2024/05/22 02:19
import android.app.Activity;
import android.content.Context;
import com.f1game.songshu.EmulatorActivity;
public class ExitDoubleClick extends DoubleClick {
private static ExitDoubleClick exitDoubleClick;
private ExitDoubleClick(Context context) {
super(context);
}
public static synchronized ExitDoubleClick getInstance(Context context) {
if (exitDoubleClick == null) {
exitDoubleClick = new ExitDoubleClick(context);
}
return exitDoubleClick;
}
@Override
protected void afterDoubleClick() {
((EmulatorActivity) mContext).pauseEmulator();
((EmulatorActivity) mContext).quickSave();
((Activity) mContext).finish();
destroy();
}
@Override
public void doDoubleClick(int delayTime, String msg) {
if (msg == null || msg.equals("")) {
msg = "再按一次退出!";
}
super.doDoubleClick(delayTime, msg);
}
private static void destroy() {
exitDoubleClick = null;
}
}
package com.f1game.tools;
import android.content.Context;
import android.widget.Toast;
/**
* @author Geek_Soledad (66704238@51uc.com)
*/
public abstract class DoubleClick {
protected Context mContext;
private long mStartTime;
public DoubleClick(Context context) {
mContext = context;
mStartTime = -1;
}
public void doDoubleClick(int delayTime, String msg) {
if (!doInDelayTime(delayTime)) {
Toast.makeText(mContext, msg, delayTime).show();
}
}
private boolean doInDelayTime(int delayTime) {
long nowTime = System.currentTimeMillis();
if (nowTime - mStartTime <= delayTime) {
afterDoubleClick();
return true;
}
mStartTime = nowTime;
return false;
}
public void doDoubleClick(int delayTime, int msgResid) {
long nowTime = System.currentTimeMillis();
if (nowTime - mStartTime <= delayTime) {
afterDoubleClick();
} else {
mStartTime = nowTime;
Toast.makeText(mContext, msgResid, delayTime).show();
}
}
abstract protected void afterDoubleClick();
}
使用方法:
create里面
ExitDoubleClick = ExitDoubleClick.getInstance(this);
在 if (keyCode == KeyEvent.KEYCODE_BACK) {
ExitDoubleClick.doDoubleClick(2000, "再按一次退出!");
return true;
}
这里是按键key onkeydown里面。
- 一个双击返回键退出的demo
- 双击返回键退出
- 双击返回键退出
- 双击返回键退出
- Android双击返回键退出的方法
- 双击返回键退出应用程序的方法
- 双击 返回键 退出程序
- 双击返回键退出应用
- Android双击返回键退出
- ionic返回键双击退出
- 双击返回键退出应用
- 双击返回键退出应用
- 双击返回键退出程序
- 双击返回键退出应用
- 双击返回键退出应用
- 【自用】双击返回键退出
- Android 双击返回键退出
- 双击返回键退出程序
- bzoj1096: [ZJOI2007]仓库建设 斜率优化DP
- 杭电 1005 Number Sequence()
- Extjs进度条超时解决
- poj2387- Til the Cows Come Home
- UVa12210 - A Match Making Problem(排序)
- 一个双击返回键退出的demo
- C++写日志源代码分析,可实现根据日期自动创建文件夹、日志分类、文件大小控制等
- Oracle入门-2存储过程
- HDU 1159 Common Subsequence (动规+最长公共子序列)
- TCP/IP模型及TCP/UDP协议
- css 常用样式
- Can't lock file (errno: 170) 错误
- MD5加密
- hdu 1877 又一版 A+B