Android: 创建一个AlertDialog对话框,必须按确定或取消按钮才能关闭对话框,禁止按[返回键]或[搜索键]关闭
AlertDialog.Builder builder = new Builder(this);
builder.create().show();
這樣顯示出來的對話框,當用戶按返回鍵或搜索鍵時,這個對話框也能關閉。
怎樣才能實現一個類似在windows系統上的對話框,必須點對話框上的按鈕后,才能關閉這個對話框。
下面是具體代碼:
AlertDialog.Builder builder = new Builder(this);
??builder.setMessage(msg);
??builder.setTitle(title);
??builder.setPositiveButton("確定", new DialogInterface.OnClickListener() {
???public void onClick(DialogInterface dialog, int which)
???{
????dialog.dismiss();
???}
??});
??AlertDialog alertDialog = builder.create();
??alertDialog.setCancelable(false);//設置這個對話框不能被用戶按[返回鍵]而取消掉,但測試發現如果用戶按了KeyEvent.KEYCODE_SEARCH,對話框還是會Dismiss掉
??//由于設置alertDialog.setCancelable(false); 發現如果用戶按了KeyEvent.KEYCODE_SEARCH,對話框還是會Dismiss掉,這里的setOnKeyListener作用就是屏蔽用戶按下KeyEvent.KEYCODE_SEARCH
??alertDialog.setOnKeyListener(new DialogInterface.OnKeyListener() {
???@Override
???public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event)
???{
???if (keyCode == KeyEvent.KEYCODE_SEARCH)
????{
?????return true;
????}
????else
????{
?????return false; //默認返回 false
????}
???}
??});
??alertDialog.show();
總結
以上是生活随笔為你收集整理的Android: 创建一个AlertDialog对话框,必须按确定或取消按钮才能关闭对话框,禁止按[返回键]或[搜索键]关闭的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WIN7如何更改计算机名称
- 下一篇: Android与服务器端数据交互(基于S