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;
}
使用
fun View.setOnDoubleClickListener(click: (view: View?) -> Unit) {
setOnClickListener(object : onDoubleClickListener() {
override fun onDoubleClick(view: View?) {
click.invoke(view)
}
})
}
view.setOnDoubleClickListener {
//do something
}
view.setOnClickListener(new onDoubleClickListener() {
@Override
protected void onDoubleClick(View view) {
//do something
}
});
网友评论