最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android之有效防止按鈕多次重復(fù)點(diǎn)擊的方法(必看篇)

 更新時(shí)間:2017年04月11日 09:33:02   投稿:jingxian  
下面小編就為大家?guī)硪黄狝ndroid之有效防止按鈕多次重復(fù)點(diǎn)擊的方法(必看篇)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

為了防止測試妹子或者用戶頻繁點(diǎn)擊某個(gè)按鈕,導(dǎo)致程序在短時(shí)間內(nèi)進(jìn)行多次數(shù)據(jù)提交or數(shù)據(jù)處理,那到時(shí)候就比較坑了~

那么如何有效避免這種情況的發(fā)生呢?

我的想法是,判斷用戶點(diǎn)擊按鈕間隔時(shí)間,如果間隔時(shí)間太短,則認(rèn)為是無效操作,否則進(jìn)行相關(guān)業(yè)務(wù)處理

首先將這塊提取為工具類(方便接下來的調(diào)用),現(xiàn)在就起名為:ButtonUtils

public class ButtonUtils {
  private static long lastClickTime = 0;
  private static long DIFF = 1000;
  private static int lastButtonId = -1;

  /**
   * 判斷兩次點(diǎn)擊的間隔,如果小于1000,則認(rèn)為是多次無效點(diǎn)擊
   *
   * @return
   */
  public static boolean isFastDoubleClick() {
    return isFastDoubleClick(-1, DIFF);
  }

  /**
   * 判斷兩次點(diǎn)擊的間隔,如果小于1000,則認(rèn)為是多次無效點(diǎn)擊
   *
   * @return
   */
  public static boolean isFastDoubleClick(int buttonId) {
    return isFastDoubleClick(buttonId, DIFF);
  }

  /**
   * 判斷兩次點(diǎn)擊的間隔,如果小于diff,則認(rèn)為是多次無效點(diǎn)擊
   *
   * @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", "短時(shí)間內(nèi)按鈕多次觸發(fā)");
      return true;
    }
    lastClickTime = time;
    lastButtonId = buttonId;
    return false;
  }  

}

我們通過判斷倆次點(diǎn)擊時(shí)間間隔去判定當(dāng)前點(diǎn)擊操作是否為有效操作。那么如何在使用中調(diào)用呢?繼續(xù)往下看。。。

gv_isf.setOnItemClickListener(new OnItemClickListener() {

      @Override
      public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
          long arg3) {
        if (!ButtonUtils.isFastDoubleClick(R.id.gv_integralstore)) {
          //寫你相關(guān)操作即可
        }

      }
    });

!ButtonUtils.isFastDoubleClick(R.id.gv_integralstore):這塊是關(guān)鍵。我的想法就是在單擊事件中進(jìn)行判斷,看看當(dāng)前的點(diǎn)擊事件是否為有效點(diǎn)擊事件

好了,一個(gè)簡單又實(shí)用的防止按鈕多次重復(fù)點(diǎn)擊的工具類就搞定了。。。

以上這篇Android之有效防止按鈕多次重復(fù)點(diǎn)擊的方法(必看篇)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

芒康县| 旺苍县| 安达市| 将乐县| 商洛市| 阿克苏市| 吉林省| 海盐县| 友谊县| 福泉市| 泽州县| 新野县| 上虞市| 喜德县| 安康市| 罗平县| 武汉市| 洛南县| 淮滨县| 上栗县| 大英县| 平塘县| 南通市| 南和县| 南充市| 屏边| 昭平县| 霍林郭勒市| 桐庐县| 昌宁县| 庄河市| 观塘区| 巫山县| 望都县| 上饶市| 米林县| 金平| 天门市| 邛崃市| 于都县| 汤原县|