亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

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

我的想法是,判斷用戶點擊按鈕間隔時間,如果間隔時間太短,則認為是無效操作,否則進行相關業(yè)務處理

首先將這塊提取為工具類(方便接下來的調(diào)用),現(xiàn)在就起名為: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", "短時間內(nèi)按鈕多次觸發(fā)");
      return true;
    }
    lastClickTime = time;
    lastButtonId = buttonId;
    return false;
  }  

}

我們通過判斷倆次點擊時間間隔去判定當前點擊操作是否為有效操作。那么如何在使用中調(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)) {
          //寫你相關操作即可
        }

      }
    });

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

好了,一個簡單又實用的防止按鈕多次重復點擊的工具類就搞定了。。。

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

相關文章

最新評論