写双金事件有很多种方法:之前有用点击的时间判断 或者重写控件的ontouch事件来自定义单双击
下面封装一个单双击事件记录下方便使用
不多说直接上干货哇
public abstract class MySingleDoubleClick implements View.OnClickListener {
private static final int TIMEOUT = 400;
private int clickCount = 0;
private Handler handler;
protected MySingleDoubleClick() {
handler = new Handler();
}
@Override
public void onClick(View v) {
clickCount++;
handler.postDelayed(new Runnable() {
@Override
public void run() {
if (clickCount == 1) {
onSingleClick(v);
} else if (clickCount == 2) {
onDoubleClick(v);
}
handler.removeCallbacksAndMessages(null);
clickCount = 0;
}
}, TIMEOUT);
}
/**
* 单击实现
*
* @param v 视图
*/
public abstract void onSingleClick(View v);
/**
* 双击实现
*
* @param v 视图
*/
public abstract void onDoubleClick(View v);
}
使用方法
tiktokPlayView.setOnClickListener(new MySingleDoubleClick() {
@Override
public void onSingleClick(View v) {
}
@Override
public void onDoubleClick(View v) {
}
});
原理是继承并重写点击事件 这个也是通过时间来判断
TIMEOUT 双击间隔的时间自己定义
leileitua
原文:https://www.cnblogs.com/widgetbox/p/13212222.html