您的位置:首页 > 移动开发 > Android开发

Android: 创建一个AlertDialog对话框,必须按确定或取消按钮才能关闭对话框,禁止按[返回键]或[搜索键]关闭

2014-05-30 17:28 549 查看
http://hi.baidu.com/personnel/blog/item/e7fdccbf8eb11c1419d81f90.html

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();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐