android 实战用继承实现点击“防抖动”多次点击现象

实际开发中,我们通常会遇到需要防止用户多次点击的操作,话不多说,直接上代码:其中主要通过btnId来记录两次点击的是否是同一个view,这里将时间设为固定的值,当然你也可以通过各种方法修改间隔时间

``

    public abstract class OnMoreClickListener implements View.OnClickListener{

    public static final int MIN_CLICK_DELAY_TIME = 1000;

    private long lastTime = 0;

    private int btnId = 0;

    public abstract void onMoreClickListener(View v);

    @Override

    public void onClick(View v) {

        long currentTime= System.currentTimeMillis();

        if(btnId!=v.getId())

            lastTime = 0;

        if(currentTime- lastTime > MIN_CLICK_DELAY_TIME){

            btnId = v.getId();

            lastTime = currentTime;

            onMoreClickListener(v);

}

}

}

你可能感兴趣的:(android 实战用继承实现点击“防抖动”多次点击现象)