在监听事件中弹出一个对话框,如果手机反应比较慢的话,会弹出多个
解决办法:设置一个布尔变量记录按钮的点击
private boolean isClick=flase;
OnClickListener infoClick=new OnClickListener(){
public void onClick(View v) {
if(!isClick){
isClick=true;
openInfoWindow();
}
}
};
就是定义一个isClick变量,在点击时将它设置为true;在关闭对话框的时候再把isClick设置为false。
后来发现在点击手机“back”键取消的时候还需要做处理,于是:
alertdialog.setOnKeyListener(new backlistener());
class backlistener implements OnKeyListener{
public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK)
{
if(isClick){
TipsUtil.closeAlertDialog();
}
isClick=false;
return true;
}
return false;
}
}
给对话框设置返回setOnKeyListener监听。