【Android筆記】Android控件防止被重複點擊

在開發中常常會遇到這樣的狀況,一個按鈕點擊後會彈出Toast或者Dialog,若是快速重複地點擊,則Toast則會重複地出現html

而咱們想要的效果是必定時間內的點擊只生效一次,或者說這種快速且重複的點擊爲無效點擊。spa

 

解決的思路以下:code

 1. 須要定義一個全局變量 lastClickTime, 用來記錄最後點擊的時間。htm

 2. 每次點擊前須要進行判斷, 用lastClickTime 和當前時間想比較,而且更新最後點擊時間,若小於臨界值,則算無效點擊,不觸發事件。blog

 

 

 1 public class CommonUtils { 
 2     private static long lastClickTime; 
 3     public static boolean isFastDoubleClick() { 
 4         long time = System.currentTimeMillis(); 
 5         long timeD = time - lastClickTime; 
 6         if ( 0 < timeD && timeD < 800) {    //800毫秒,可本身設置適當時長
 7             return true;    
 8         }    
 9         lastClickTime = time;    
10         return false;    
11     } 
12 } 

 

控件點擊的處理:事件

1 public void onClick(View v) {   
2     if (Utils.isFastDoubleClick()) {   
3         return;   
4     }else{ 
5         //彈出Toast或者Dialog  
6    } 
7  }

 

參考原文:http://www.2cto.com/kf/201211/167196.html開發

相關文章
相關標籤/搜索