安卓奇葩问题之:返回按键监听,使Dialog不消失
Posted 夜空
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安卓奇葩问题之:返回按键监听,使Dialog不消失相关的知识,希望对你有一定的参考价值。
本文出处:http://bbs.9ria.com/thread-204406-1-1.html
在做自动更新的时候,弹出Dialog提示,要求是只能点击更新或者取消更新时Dialog才会消失。但是在这个时候用户可能点击返回键,怎么让Dialog不消失呢?
首先想到重写Activity的onKeyDown,后来发现没有什么卵用。
百度了一下,找到原因了。不应该截取activity的 onkeydown事件,而应该截取dialog的key响应事件,当dialog在前台显示的时候,keylistener首先会派发到dialog里面,在Dialog里监听。
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; } } } ;
然后为Dialog设置监听
dialog.setOnKeyListener(keylistener)
以上是关于安卓奇葩问题之:返回按键监听,使Dialog不消失的主要内容,如果未能解决你的问题,请参考以下文章