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

Android 防止過快(多次)點擊的實現(xiàn)方法

 更新時間:2018年05月08日 13:33:41   作者:loading  
很多用戶經(jīng)常會出現(xiàn)過快且多次點擊同一按鈕的情況,本篇文章主要介紹了Android 防止過快點擊的實現(xiàn)方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

在用戶使用 Android 應(yīng)用的時候,經(jīng)常會出現(xiàn)過快且多次點擊同一按鈕的情況,一方面這是因為應(yīng)用或手機(jī)當(dāng)前有些卡頓,另一方面也可能是由于很多應(yīng)用并沒有設(shè)置按鈕點擊時的 selector 或者其它按鈕響應(yīng)方式(例如點擊按鈕時按鈕放大,常見于游戲),導(dǎo)致用戶誤認(rèn)為沒有點擊到當(dāng)前按鈕,當(dāng)然,除了相對應(yīng)的對應(yīng)用進(jìn)行優(yōu)化和設(shè)置點擊selector以外,我們還可以做一些其它的工作,例如,判斷按鈕的 onClick 事件在規(guī)定事件段內(nèi)只響應(yīng)一次(在論壇的搜索功能中,我們常見到每10秒才可以進(jìn)行一次搜索的設(shè)置,這就在一定程度上減少了無效的網(wǎng)絡(luò)訪問量,減輕服務(wù)器壓力,APP同理),就如下面代碼所示:

public final class AppUtils {
  private AppUtils() {

  }

  private static long mLastClickTime;// 用戶判斷多次點擊的時間

  public static boolean isFastDoubleClick() {
    long time = System.currentTimeMillis();
    if (Math.abs(time - mLastClickTime) < 500) {
      return true;
    }
    mLastClickTime = time;
    return false;
  }
}

btn.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View v) {
        if (AppUtils.isFastDoubleClick()){
          // 進(jìn)行點擊事件后的邏輯操作
        }
      }
    });

另一種方式。。。。 新建一個onclicklistener

public abstract class OnMultiClickListener implements View.OnClickListener{
  // 兩次點擊按鈕之間的點擊間隔不能少于1000毫秒
  private static final int MIN_CLICK_DELAY_TIME = 1000;
  private static long lastClickTime;

  public abstract void onMultiClick(View v);

  @Override
  public void onClick(View v) {
    long curClickTime = System.currentTimeMillis();
    if((curClickTime - lastClickTime) >= MIN_CLICK_DELAY_TIME) {
      // 超過點擊間隔后再將lastClickTime重置為當(dāng)前點擊時間
      lastClickTime = curClickTime;
      onMultiClick(v);
    }
  }
}
btn.setOnClickListener(new OnMultiClickListener() {
      @Override
      public void onMultiClick(View v) {
        // 進(jìn)行點擊事件后的邏輯操作
      }
    });

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

鹿邑县| 松溪县| 电白县| 龙井市| 桓台县| 进贤县| 顺义区| 巩义市| 客服| 芒康县| 鸡东县| 南部县| 尖扎县| 鸡西市| 乌拉特后旗| 宜城市| 锡林浩特市| 凉山| 睢宁县| 榆树市| 古田县| 南岸区| 叙永县| 尚义县| 长宁县| 湘乡市| 永春县| 连平县| 新沂市| 沐川县| 平遥县| 揭阳市| 桦甸市| 上饶市| 景宁| 诸暨市| 伊通| 临猗县| 如皋市| 白玉县| 山丹县|