Android 几行代码实现防双击简单工具
2020-01-07 本文已影响0人
坐怀灬不乱
- 新建一个类实现OnClick方法
public abstract class onDoubleClickListener implements View.OnClickListener {
@Override
public void onClick(View v) {
if (!AppUtils.isFastDoubleClick()) {
onDoubleClick(v);
} else
RxToast.info(UIUtils.getString(R.string.Double_Click));
}
protected abstract void onDoubleClick(View view);
}
- 用来检测两次点击间隔时间
public static boolean isFastDoubleClick() {
long time = System.currentTimeMillis();
long timeD = time - lastClickTime;
if (0 < timeD && timeD < 500) {
return true;
}
lastClickTime = time;
return false;
}
使用
- Kotlin
fun View.setOnDoubleClickListener(click: (view: View?) -> Unit) {
setOnClickListener(object : onDoubleClickListener() {
override fun onDoubleClick(view: View?) {
click.invoke(view)
}
})
}
view.setOnDoubleClickListener {
//do something
}
- Java
view.setOnClickListener(new onDoubleClickListener() {
@Override
protected void onDoubleClick(View view) {
//do something
}
});