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

链接:http://77blogs.com/?p=538

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

首先我们先看一个方法:

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

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

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


 

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


 

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

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

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

 

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

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

发布者

大道苍莽,一笔一墨,皆重之。

发表评论

电子邮件地址不会被公开。