Android之彈出Dialog監聽Back返回鍵點擊事件

需求:彈出Dialog爲不可關閉,點擊返回按鈕時退出頁面。

推薦一個好用的彈出框:kongzuegithub地址,可滿足大部分需求。

實現監聽返回鍵代碼:

AlertDialog alertDialog;
//省略其他代碼
alertDialog.setOnKeyListener(new DialogInterface.OnKeyListener() {
    @Override
    public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
            // 根據需求實現代碼
            finish();
         }
        return false;
    }
});

其中,返回鍵在系統分發時,發送Message去調用KeyEvent.changeTimeRepeat。長按時會發多次KeyEvent.ACTION_DOWN。

第一次event.getRepeatCount()爲返回0,之後遞增。避免長按多次調用onKeyDown添加repeatCount == 0判斷。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章