当使用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或更短。