android CountDownTimer定时器实现连续单击监听
2016-02-25 11:56
537 查看
1,2秒5连击监听处理器
原理:第一次单击start一个2秒的定时器,并且把开始时间记录下firstTime,并且累计clickedTimes,每次都检查clickedTimes是否超过5次,是则返回true。定时器2秒后cancel,并初始化,待下次单击操作。
/** * 2秒5连击监听处理器 */ public class FiveClickHandler { final String TAG = FiveClickHandler.class.getSimpleName(); long firstTime = 0;//第一次单击时间 int clickedTimes = 0;//连续单击次数 CountDownTimer fiveClickTimer = new CountDownTimer(2000, 1000) { @Override public void onTick(long millisUntilFinished) { } @Override public void onFinish() { cancelTimer(); } }; public void startTimer() { fiveClickTimer.start(); } public void cancelTimer() { MyLog.i(TAG, "取消5连击定时器"); firstTime = 0; clickedTimes = 0; fiveClickTimer.cancel(); } public boolean addUpClickedTimes() {//单击 clickedTimes++; MyLog.i(TAG, "firstTime:" + firstTime); MyLog.i(TAG, "clickedTimes:" + clickedTimes); if (firstTime > 0) { long curTime = System.currentTimeMillis(); if (curTime - firstTime <= 2000) {//2秒内 //连击次数5次以上 if (clickedTimes >= 5) { cancelTimer(); return true; } else { return false; } } else { cancelTimer(); return false; } } else { firstTime = System.currentTimeMillis(); fiveClickTimer.start(); return false; } } }
2,使用该处理器
public void setListener(){tv_launcher_version.setOnTouchListener(new View.OnTouchListener() {@Overridepublic boolean onTouch(View v, MotionEvent event) {MyLog.i(TAG,"单击版本");boolean flag = fiveClickHandler.addUpClickedTimes();if(flag){MyLog.i(TAG,"5连击,打开系统设置");gotoActivity("com.android.settings","没找到设置");}return false;}});}
相关文章推荐
- android:clipToPadding和android:clipChildren
- Android中Fragment与Activity的生命周期对比
- android自定义adapter之简单写法
- Android如何防止apk程序被反编译
- Android--自定义tab+viewPager
- Android事件分发机制完全解析,带你从源码的角度彻底理解
- android studio 下载 安装 环境配置
- 一个优秀的Android应用从建项目开始
- Android应用开发中Fragment的静态加载与动态加载实例
- android 功能效果的实现
- Android-修改TabWidget字体大小颜色及对齐
- Java.lang.UnsatisfiedLinkError android studio
- android 插件开发前凑java类加载器
- 使用Android Studio的lint清除无用的资源文件
- Android 实现分页(使用TabWidget/TabHost)
- android三种实现定时器的方式
- Android Launcher 解决BubbleTextView 点击事件只在ICON上面触发,防止误触
- android 自定义选项卡tabhoust
- Android中finish掉其它的Activity
- Android中如何控制元素的显示隐藏?