AlertDialog禁止返回鍵


android 如何讓dialog不消失,即使是用戶按了返回鍵dialog也不消失
解決的問題:軟件提示升級的dialog時候,用戶有可能按了返回鍵,但是現在的需求是用戶只能按“確定升級”或者“暫時不升級”這兩個按鈕才能拿dialog消失,按返回鍵不能使dialog消失
方案:截取activity的 onkeydown事件,而應該截取dialog的key響應事件,當dialog在前台顯示的時候,keylistener首先會派發到dialog里面,在那里面監聽就行了。
先申明一個keylistener。
    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;
            }
        }
    } ;
在把這個listener注冊到dialog里面去 當初始化dialog的時候
                builder.setTitle(getText(R.string.XXXX))
                        .setMessage(getText(R.XXXXXX))
                        .setOnKeyListener(key).setCancelable(false)
                        .setPositiveButton(android.R.string.ok, someOKButtonListener)
                        .setNegativeButton(android.R.string.cancel, null);

PS: setCancelable(false),作用是當dialog彈出來的時候,如果觸點在dialog外圍,按照默認的方式 dialog將消失。如果這個設為false的話 這種情況dialog就不會消失了。  加了這一句就OK了。dialog.setCancelable(false);


免責聲明!

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



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