【Android】AlertDialog禁止返回鍵?

Tags: 對話框,

創建一個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();

【Android】AlertDialog禁止返回鍵

這樣顯示出來的對話框,當用戶按返回鍵或搜索鍵時,這個對話框也能關閉。

alertDialog.setCancelable(false);

//設置這個對話框不能被用戶按[返回鍵]而取消掉

【Android】AlertDialog禁止返回鍵

//由於設置alertDialog.setCancelable(false);

發現如果用戶按了KeyEvent.KEYCODE_SEARCH,對話框還是會Dismiss掉。

這裡的setOnKeyListener作用就是屏蔽用戶按下KeyEvent.KEYCODE_SEARCH

【Android】AlertDialog禁止返回鍵

setOnKeyListener()

這個是一個關鍵的設置。

作用是監聽設置控件點擊的按鈕事件的捕獲處理

(作用就是屏蔽用戶按下KeyEvent.KEYCODE_SEARCH)

【Android】AlertDialog禁止返回鍵

alertDialog.setCancelable(false);

然後設置setOnKeyListener()

【Android】AlertDialog禁止返回鍵

就這樣 再怎麼點擊返回鍵,都消失不了了

【Android】AlertDialog禁止返回鍵

注意事項

本步驟需要一定代碼基礎

程序代碼以代碼片段的形式展示

相關問題答案