android click防止多次重复点击

public abstract class DebouncingOnClickListener implements View.OnClickListener{
    private static boolean enabled = true;// 默认应是可以使用的
    pirvate static final int DELY = 300;
    private static final Runnable ENABLE_AGAIN = new Runable(){
        @Override
        public void run(){
            enable = true;// 重置标记为true
        }
    }
    @Override
    public final void onClick(View v){
        if(enable){// 先判断是否可用
            enable = false;
            v.postDelay(ENABLE_AGAIN, delay);// 延迟发送一个runable,使标记可用
            doClick(v);
         }
    }
    public abstract void doClick(View v);
} 

你可能感兴趣的:(移动开发)