前言:我们在做项目的时候,经常会碰到这种情况:一个控件的点击事件,当点击速度过快的时候——一般是双击,点击事件会响应两次,而Android系统中没有双击这个判断,这个时候就需要我们自己来写一个,于是在网上看了一下。思路一般是保存按钮的点击时间,判断时间差,以此用来判断是否是双击,而在做项目的时候,发现有个不方便的地方,每次点击事件中都需要写一次,于是,为了简化代码,我在此基础上做了些许改动,能够简化些许代码,废话少说,看代码:
import android.app.Activity;
import android.util.SparseArray;
import android.view.View;
import java.util.HashMap;
import java.util.Map;
import io.reactivex.Flowable;
import io.reactivex.schedulers.Schedulers;
/**
* 点击事件的工具类
*/
public class ClickUtil {
//activity中的view的集合
private static Map<Activity, SparseArray<Long>> viewIdMap = new HashMap<>();
public static boolean isDoubleClick(Activity activity, View view) {
return isDoubleClick(activity, 1000, view);
}
//遍历当前activity内的view对应的点击时间
public static boolean isDoubleClick(Acti