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

Android 如何让dialog不消失,即使是用户按了返回键dialog也不消

2016-06-24 10:41 501 查看
android 如何让dialog不消失,即使是用户按了返回键dialog也不消失

解决的问题:软件提示升级的dialog时候,用户有可能按了返回键,但是现在的需求是用户只能按“确定升级”或者“暂时不升级”这两个按钮才能拿dialog消失,按返回键不能使dialog消失

方案:截取activity的 onkeydown事件,而应该截取dialog的key响应事件,当dialog在前台显示的时候,keylistener首先会派发到dialog里面,在那里面监听就行了。

先申明一个key。

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;

}

}

} ;

在把这个key注册到dialog里面去
当初始化dialog的时候

builder.setCanceledOnTouchOutside(false);//点其他区域对话框也不会消失


builder.setTitle(getText(R.string.XXXX))

.setMessage(getText(R.XXXXXX))

.setOnKeyListener(key)

.setPositiveButton(android.R.string.ok, someOKButtonListener)

.setNegativeButton(android.R.string.cancel, null);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: