资讯专栏INFORMATION COLUMN

Android连续点击多次事件的实现

YorkChen / 547人阅读

摘要:首先我们先看一个方法提供的一个静态方法我们可以使用它来实现数组之间的复制。注意执行操作后需要从新初始化数组否则点击第六次第七次的时候也会触发事件。

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

 

首先我们先看一个方法:

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次才有效

 


@Override public 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.ucloud.cn/yun/2665.html

相关文章

  • Android之Window和弹窗问题

    摘要:指向的主要是实现和通信的。子不能单独存在,需附属特定的父。系统需申明权限才能创建。和类似,同样是通过来实现。将添加到中显示。方法完成的显示。执行的检查参数等设置检查将保存到中将保存到中。因为通过和的将无法获取到从而导致失败。 目录介绍 10.0.0.1 Window是什么?如何通过WindowManager添加Window(代码实现)?WindowManager的主要功能是什么? 1...

    Lorry_Lu 评论0 收藏0
  • 防止点击事件中快速重复点击

    摘要:在开发过程中,总会有点击事件,也总会发生快速连续点击的操作。此种情况下,如果不做判断,有时候会发生同样效果执行多次如页面跳转一遍遍执行。判断是否快速点击,快速点击两次不让第二次不生效当前时间如果间隔在秒内就是快速重复点击 在Android开发过程中,总会有点击事件,也总会发生快速连续点击的操作。此种情况下,如果不做判断,有时候会发生同样效果执行多次:如页面跳转一遍遍执行。所以就需求做判...

    yzzz 评论0 收藏0
  • 防止点击事件中快速重复点击

    摘要:在开发过程中,总会有点击事件,也总会发生快速连续点击的操作。此种情况下,如果不做判断,有时候会发生同样效果执行多次如页面跳转一遍遍执行。判断是否快速点击,快速点击两次不让第二次不生效当前时间如果间隔在秒内就是快速重复点击 在Android开发过程中,总会有点击事件,也总会发生快速连续点击的操作。此种情况下,如果不做判断,有时候会发生同样效果执行多次:如页面跳转一遍遍执行。所以就需求做判...

    stdying 评论0 收藏0
  • 手机端页面在项目中遇到一些问题及解决办法(持续更新)

    摘要:解决页面使用在上滑动卡顿的问题首先你可能会给页面的和增加了然后就可能造成上页面滑动的卡顿问题。页面橡皮弹回效果遮挡页面选项卡有时和的去除掉问题可能就没有了。该行无文字时,光标高度与的一致。 1.解决页面使用overflow: scroll在iOS上滑动卡顿的问题? 首先你可能会给页面的html和body增加了height: 100%, 然后就可能造成IOS上页面滑动的卡顿问题。解决方案...

    teren 评论0 收藏0
  • 手机端页面在项目中遇到一些问题及解决办法(持续更新)

    摘要:解决页面使用在上滑动卡顿的问题首先你可能会给页面的和增加了然后就可能造成上页面滑动的卡顿问题。页面橡皮弹回效果遮挡页面选项卡有时和的去除掉问题可能就没有了。该行无文字时,光标高度与的一致。 1.解决页面使用overflow: scroll在iOS上滑动卡顿的问题? 首先你可能会给页面的html和body增加了height: 100%, 然后就可能造成IOS上页面滑动的卡顿问题。解决方案...

    wyk1184 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<