android中button點擊頻率控制

來源:互聯網
上載者:User

標籤:

  public class Utils {         private static long lastClickTime;         public static boolean isFastDoubleClick() {             long time = System.currentTimeMillis();             long timeD = time - lastClickTime;             if ( 0 < timeD && timeD < 500) {       //500毫秒內按鈕無效,這樣可以控制快速點擊,自己調整頻率              return true;                }                lastClickTime = time;                return false;            }     }                                                               //監聽按鈕調用方法  public void onClick(View v) {         if (Utils.isFastDoubleClick()) {             return;         }     } 

-----------------------------------------------------------------你自己可以測試一把  絕對沒問題

寫一個類

package com.example.teststyle;import Android.util.Log;public class ButtonUtil{ private static long lastClickTime = 0; private static long DIFF = 5000; 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;  Log.v("xxxx", "lastButtonId = "+lastButtonId+"  buttonId = "+buttonId);  if (lastButtonId == buttonId && lastClickTime>0 && timeD < diff)  {   Log.v("isFastDoubleClick", "短時間內按鈕多次觸發");   return true;  }    lastClickTime = time;  lastButtonId = buttonId;  return false; }}

 然後調用

public void onClick(View v) {    // TODO Auto-generated method stub    if(ButtonUtil.isFastDoubleClick(v.getId())){      //這兒進行控制,時間自己控制     Log.e("----->顯示點擊時間和開始時間", "開始時間");     Toast.makeText(getApplicationContext(), "顯示內容", Toast.LENGTH_SHORT).show();   return    }   //開始寫自己的商務邏輯   ...........   }

 

android中button點擊頻率控制

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.