最近發現,在對按鈕添加單擊事件監聽,在監聽事件中彈出一個對話框,如果手機反應比較慢的話,會彈出多個,網上搜索瞭不少帖子,發現沒有太合適的。
最終自己用瞭一個比較笨的辦法實現瞭:
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監聽。
作者“stulpnn”