【Android】AlertDialog禁止返回鍵?
創建一個AlertDialog對話框,必須按確定或取消按鈕才能關閉對話框,禁止按[返回鍵]或[搜索鍵]關閉
工具/原料
編譯工具:Eclipse
方法/步驟
一般的實現彈出框的代碼
AlertDialog.Builder localBuilder = new AlertDialog.Builder(activity);localBuilder.setMessage(msg);localBuilder.setTitle("提示");localBuilder.setPositiveButton("確認", new DialogInterface.OnClickListener() { public void onClick( DialogInterface paramAnonymousDialogInterface, int paramAnonymousInt) { paramAnonymousDialogInterface.dismiss(); } });localBuilder.setNegativeButton("取消", new DialogInterface.OnClickListener() { public void onClick( DialogInterface paramAnonymousDialogInterface, int paramAnonymousInt) { paramAnonymousDialogInterface.dismiss(); } });localBuilder.setCancelable(false); localBuilder.create().show();
這樣顯示出來的對話框,當用戶按返回鍵或搜索鍵時,這個對話框也能關閉。
alertDialog.setCancelable(false);
//設置這個對話框不能被用戶按[返回鍵]而取消掉
//由於設置alertDialog.setCancelable(false);
發現如果用戶按了KeyEvent.KEYCODE_SEARCH,對話框還是會Dismiss掉。
這裡的setOnKeyListener作用就是屏蔽用戶按下KeyEvent.KEYCODE_SEARCH
setOnKeyListener()
這個是一個關鍵的設置。
作用是監聽設置控件點擊的按鈕事件的捕獲處理
(作用就是屏蔽用戶按下KeyEvent.KEYCODE_SEARCH)
alertDialog.setCancelable(false);
然後設置setOnKeyListener()
就這樣 再怎麼點擊返回鍵,都消失不了了
注意事項
本步驟需要一定代碼基礎
程序代碼以代碼片段的形式展示