Android 防止控件被重復點擊


轉載:

工具類:

 

public class Utils {
    private static long lastClickTime;
    public static boolean isFastDoubleClick() {
        long time = System.currentTimeMillis();
        long timeD = time - lastClickTime;
        if ( 0 < timeD && timeD < 800) {   
            return true;   
        }   
        lastClickTime = time;   
        return false;   
    }
}

 

 

控件點擊的處理:

mHandler.removeCallbacks(runnable);

if (!Utils.isFastDoubleClick()) {                 
        imageLoader.loadImage(MealOrderingActivity.this, path, 
                  mImageSize,    options, simpListener);
//                            imageLoader.displayImage(MealOrderingActivity.this,path, 
//                                    (ImageView) mImageSwitcher.getCurrentView(),
//                                    options,simpListener);
   }else{
       log("load from www or sd showDishes runnable before");
       mHandler.postDelayed(runnable, 1000);
   }

 

 

這樣,兩次點擊時間相隔小於800ms,便不會觸發事件,具體的臨界時間可以根據需求自己修改.

再加上一個postDelayed,確保不會由於最后兩次點擊時間間隔太近,導致最后一次操作也被忽略。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM