实现双击、多击(多次点击)功能

来源:互联网 发布:java return 编辑:程序博客网 时间:2024/04/30 02:12

我们常常用的双击功能,比如:双击返回。

此篇文章,我们来实现双击很多击的功能。

1、双击(时间差法)

private long firstcliktime;//System.currentTimeMillis()得到当前时间,long型if(firstcliktime >0){if(System.currentTimeMillis() - firstcliktime <= 500){    //双击成功,Toast            Toast.makeText(this,"dbClick!",Toast.LENGTH_SHORT).show();}}firstcliktime = System.currentTimeMillis();

2、双击(计时器法)

private boolean b = true;//开始b为true,第一次点击,b置为false,500毫秒后重新置为true//当b为false时,执行操作if(b) {b=false;//设置定时器,500毫秒后b重新置为true        new Timer().schedule(new TimerTask() {@Overridepublic void run() {b = true;}        }, 500);}else{ //双击成功,Toast        Toast.makeText(this,"dbClick!",Toast.LENGTH_SHORT).show();}

3、双击、多击(谷歌大法)

此方法有点难以理解,不过不要紧,因为这代码只有谷歌大神才能写出来,我们只是看看。

long[] mHits = new long[2];// 数组长度表示要点击的次数System.arraycopy(mHits, 1, mHits, 0, mHits.length - 1);mHits[mHits.length - 1] = SystemClock.uptimeMillis();// 开机后开始计算的时间if (mHits[0] >= (SystemClock.uptimeMillis() - 500)) {//点击成功,Toast        Toast.makeText(this, "是男人!!!", Toast.LENGTH_SHORT).show();}



1 0
原创粉丝点击