有时候我们需要实现这样的场景,类似进入开发者模式,即多次点击后执行操作。

首先我们先看一个方法:

System提供的一个静态方法arraycopy(),我们可以使用它来实现数组之间的复制。

public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length);

src:源数组; 
srcPos:源数组要复制的起始位置; 
dest:目的数组; 
destPos:目的数组放置的起始位置; 
length:复制的长度。 
注意:src and dest都必须是同类型或者可以进行转换类型的数组.

final static int COUNTS = 4;// 点击次数
final static long DURATION = 1000;// 规定有效时间
long[] mHits = new long[COUNTS];

首先我们定义次数,规定的有效时间,还有对应的数组,即我们要在一秒钟内点击4次才有效

    @Overridepublic void onClick(View v) {continuousClick(COUNTS, DURATION);}private void continuousClick(int count, long time) {//每次点击时,数组向前移动一位System.arraycopy(mHits, 1, mHits, 0, mHits.length - 1);//为数组最后一位赋值mHits[mHits.length - 1] = SystemClock.uptimeMillis();if (mHits[0] >= (SystemClock.uptimeMillis() - DURATION)) {mHits = new long[COUNTS];//重新初始化数组Toast.makeText(this, "连续点击了4次", Toast.LENGTH_LONG).show();}}

思路:首先我们点击的时候都将数组向左移动一位,将时间赋值给最后一位,从上面的代码中我们可以看出当我们点击了四次,那么最后一位就已经被移到了第一位,然后我们比较时间:

mHits[0] >= (SystemClock.uptimeMillis() - DURATION)

如果是在我们规定的时间内,那么就生效,执行我们所要的操作。

SystemClock.uptimeMillis():手机开机到现在的时间。

注意:执行操作后需要从新初始化数组:mHits = new long[COUNTS];否则点击第六次第七次的时候也会触发事件。

转载于:https://www.cnblogs.com/tangZH/p/9832171.html

Android连续点击多次事件的实现相关推荐

  1. Android 连续点击屏幕(次数可定,事件可定)后进行操作

    final static int ClICK_COUNTS = 5;//设置点击次数final static long CLICK_DURATION = 3 * 1000;//设置规定有效时间long ...

  2. android 点击,触摸事件

    setontouchlistener为什么会出现override performclick警告 由源码可以看出,只要是使用了view.setOnClickListener()方法设置监听器,就会自动触 ...

  3. android 点击外部接收事件,Android Dialog外部点击事件

    简介 一.设置是否点击dialog外部取消dialog 这个直接设置setCanceledOnTouchOutside方法即可. 二.点击外部自己监听事件 有时候我们不仅仅是需要设置点击外部取消,而是 ...

  4. 如何禁止用户连续点击一个按钮事件详细JS

    <input type="button" id="submit" value="提交"> <script> $(do ...

  5. 连续点击8次android版本,Android屡次点击事件

    android本次没有提供双击或者屡次点击事件,须要咱们本身实现.android 思想:使用数组记录点击时的系统时间,若是当前点击事件发生后点击了3次而且当前的系统时间和第一次点击事件发生的时间的差值 ...

  6. Android 防止同时按下两个按钮触发两个事件,连续点击事件

    不知道大家在写程序的时候有没有遇到这种问题,解决的办法很简单. 1. 在这两个按钮 或其他控件 的父控件上加上     android:splitMotionEvents="false&qu ...

  7. Android中点击事件的四种写法

    Android中点击事件的四种写法 使用内部类实现点击事件 使用匿名内部类实现点击事件 让MainActivity实现View.OnClickListener接口 通过布局文件中控件的属性 第一种方法 ...

  8. android root点击事件,在Android中使用InputManagerService进行事件传递

    在Android中使用InputManagerService进行事件传递 发布时间:2020-11-25 16:47:31 来源:亿速云 阅读:67 作者:Leah 在Android中使用InputM ...

  9. 【Android】技术调研:用代码模拟屏幕点击、触摸事件

    在Android中,有些场景需要使用代码来模拟人的操作,比如微信自动抢红包.UI测试等都需要模拟实现点击事件(Click).触摸事件(Touch).键盘事件(KeyBoard)等.那么,有没有现成的方 ...

最新文章

  1. python gil 解除_python GIL的解读
  2. u-charts 曲线图中间有部分没数据,导致点和点无法连成线的问题解决
  3. 合成复用原则java实例_第7节 合成复用原则
  4. android 调试
  5. axure怎么转换成php,墨刀和axure的区别是什么?
  6. centos7 yum安装maven_Centos7.3安装Maven私服nexus-3.x
  7. datatable中某一列最小值_获取DataTable 某一列所有值
  8. linux中常用的shell脚本,Linux常用shell脚本
  9. 计算机d盘的权限怎么解决,D盘没权限,不能删除更改任何文件解决方法
  10. Lucene.net试用
  11. python三种基本结构类型_Python入门_浅谈数据结构的4种基本类型
  12. 成功解决:loadrunner提示计算机上缺少vc2005_sp1_with_atl_fix_redist
  13. 笔记本电脑无线Wifi热点设置工具
  14. 某某桥的检测和加固设计
  15. 最新软件设计师知识点分析(思维导图)
  16. STM 32简单编程实例
  17. HTML中图片的蒙胧效果!
  18. 安卓基于Frida HOOK传感器 实现虚拟运动跑步
  19. JetSon-nano板卡_从sd卡烧录到tensorRT部署_一条龙
  20. 商圈热点事件:极智嘉拟科创板上市、小鹅通D轮融资……

热门文章

  1. javascript的事件冒泡,阻止事件冒泡和事件委托, 事件委托是事件冒泡的一个应用。...
  2. rails log_level
  3. Activity 模版样式简介
  4. storm-hbase jar包中的bolt节点源码解析
  5. HTML5 多图片上传(前端+后台详解)
  6. python 常量 模块_Python字符串模块的有用常量
  7. 中信银行MySQL面试_【深圳中信银行信用卡中心面试】面试题_面试经验_面试流程-看准网...
  8. 复地邮箱服务器地址,打印服务器设置方法
  9. manchi翻译中文 mi_求这一段意大利文歌词中文翻译(Mi Manchi)
  10. oracle 性能优化 常用,Oracle數據庫常用性能優化