2025-02-15

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

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *