有时也许会遇到希望让View点击多次执行的需求,这时只需要一个方法就可以简单实现n次点击事件的处理:
/**
* n次点击事件
*
* @param view 需要点击的view
* @param i 想要点击的次数
* @param time_ms 毫秒数
*/
public void nClick(View view, final int i, final int time_ms) {
final long[] mHits = new long[i];
view.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
System.arraycopy(mHits, 1, mHits, 0, mHits.length - 1);
mHits[mHits.length - 1] = SystemClock.uptimeMillis();
if (mHits[0] >= (SystemClock.uptimeMillis() - time_ms)) {
//TODO Someting();
Zutil.Toastshow("我在"+time_ms+"毫秒内次点击了"+i+"次");
}
}
});
}
方法调用:让mRootLl在500毫秒内点击三次,可执行指定逻辑(TODO Something)处
nClick(mRootLl, 3, 500);