安卓奇葩問題之:返回按鍵監聽,使Dialog不消失


本文出處:http://bbs.9ria.com/thread-204406-1-1.html

在做自動更新的時候,彈出Dialog提示,要求是只能點擊更新或者取消更新時Dialog才會消失。但是在這個時候用戶可能點擊返回鍵,怎么讓Dialog不消失呢?

首先想到重寫Activity的onKeyDown,后來發現沒有什么卵用。

百度了一下,找到原因了。不應該截取activity的 onkeydown事件,而應該截取dialog的key響應事件,當dialog在前台顯示的時候,keylistener首先會派發到dialog里面,在Dialog里監聽。

OnKeyListener keylistener = new DialogInterface.OnKeyListener(){
        public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
            if (keyCode==KeyEvent.KEYCODE_BACK&&event.getRepeatCount()==0)
            {
             return true;
            }
            else
            {
             return false;
            }
        }
    } ;

然后為Dialog設置監聽

dialog.setOnKeyListener(keylistener)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM