在使用Button的时候,用户往往不会按照开发人员想的来操作,比如连续点击......
我的想法是,判断用户点击按钮间隔时间,如果间隔时间太短,则认为是无效操作,否则进行相关业务处理
佳姝一:首先将这块提取为工具类:ButtonUtils
public class ButtonUtils { private static long lastClickTime = 0; private static long DIFF = 1000; private static int lastButtonId = -1; /** * 判断两次点击的间隔,如果小于1000,则认为是多次无效点击 * * @return */ public static boolean isFastDoubleClick() { return isFastDoubleClick(-1, DIFF); } /** * 判断两次点击的间隔,如果小于1000,则认为是多次无效点击 * * @return */ public static boolean isFastDoubleClick(int buttonId) { return isFastDoubleClick(buttonId, DIFF); } /** * 判断两次点击的间隔,如果小于diff,则认为是多次无效点击 * * @param diff * @return */ public static boolean isFastDoubleClick(int buttonId, long diff) { long time = System.currentTimeMillis(); long timeD = time - lastClickTime; if (lastButtonId == buttonId && lastClickTime > 0 && timeD < diff) { Log.v("isFastDoubleClick", "短时间内按钮多次触发"); return true; } lastClickTime = time; lastButtonId = buttonId; return false; } }
佳姝二:在Activity中 !ButtonUtils.isFastDoubleClick(R.id.gv_integralstore):这块是关键。
@OnClick(R.id.commitBind) void commitBind() { if (!ButtonUtils.isFastDoubleClick(R.id.commitBind)) { //做相应操作。 commitLabelAttach(); } }
我的想法就是在单击事件中进行判断,看看当前的点击事件是否为有效点击事件。
佳姝这儿还有更多Android?https://me.csdn.net/