您的位置:首页 > 其它

控件连续点击两次及多次

2016-11-28 12:17 260 查看
应用场景:

1.两次点击的应用场景太多了,作用表示“强调”,典型的点两次退程序、点两次进某个界面

2.多次点击应用场景相对较少,根据需要吧

两次:

/**
* 监听控件连续点击2次
* @param view         控件
* @param intervalTime 多少时间内有效
*/
public void listenerClick2(final Context context,View view, final long intervalTime) {
view.setOnClickListener(new View.OnClickListener() {
public long clickTime;

@Override
public void onClick(View v) {
if (clickTime != 0) {
if (System.currentTimeMillis() - clickTime <= intervalTime) {
Toast.makeText(context, "我被连续点击2次啦!", Toast.LENGTH_SHORT).show();
}
}
clickTime = System.currentTimeMillis();
}
});
}


多次:

/**
* 监听控件连续点击N次
* @param view         控件
* @param amount       点击次数
* @param intervalTime 多少时间内有效
*/
public void listenerClickN(final Context context,View view, final int amount, final long intervalTime) {
final long[] amountArray=new long[amount];
view.setOnClickListener(new View.OnClickListener() {
public long clickTime;
@Override
public void onClick(View v) {
System.arraycopy(amountArray,1,amountArray,0,amountArray.length-1);
amountArray[amountArray.length-1]= SystemClock.uptimeMillis();
if(amountArray[amountArray.length-1]-amountArray[0]<=intervalTime){
Toast.makeText(context,"受不了啦!我被连续点击"+amount+"次啦!!",Toast.LENGTH_SHORT).show();
}
}
});
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息