Android View onClick 多次点击问题

当使用Android View的点击事件弹出Toast或者PopWindow或者Dialog的时候很可能会多次弹出,

解决办法1:

@Override

public void onClick(View v) {

  v.setEnable(false);

  //TODO you event

  v.setEnable(true);

}

// 此方法无效,出现这种事件一般是在onClick还没有执行之前就已经触发了两次onClick的等待。即需要执行完第一次onClick,才马上执行第二次onClick

解决办法2:

使用时间控制。如下

privatelongclickTime = 0;

@Override

public void onClick(View v) {

  if(System.currentTimeMillis() - clickTime > 400){

    clickTime = System.currentTimeMillis();

  }else{

    return;

  }

  //TODO

}

因为一般onClick执行的时间很短。所以简单的在onClick第一行判断满足我的需求。 如果需要控制严密点,在onClick执行完之后clickTime=System.currentTimeMillis();

再在onClick第一行执行System.currentTimeMillis() - clickTime > 100判断可以根据您的需求100或更短。

原文地址:https://www.cnblogs.com/pandans/p/2881084.html