1. 程式人生 > >Android中點選返回鍵時候,彈出兩個Dialog的問題

Android中點選返回鍵時候,彈出兩個Dialog的問題

專案中需要點選右下角的返回鍵進行攔截,然後彈出一個Dilaog,程式碼是這樣寫的:
getDialog().setOnKeyListener(new DialogInterface.OnKeyListener() {
@Override
public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK ) {
if(mOnGreenBtnStateListen != null){
mOnGreenBtnStateListen.pressLeftBack();
}
return true;
}
return false;
}
});
發現會出現兩個Dialog,因為點選返回鍵的時候,會有兩個動作DOWN,UP,所以必須判斷是點選的DOWN事件
if(keyCode == KeyEvent.KEYCODE_BACK&&event.getRepeatCount()==0)
這樣就設定了只是DOWN的時候執行,就只會走一遍。