码迷,mamicode.com
首页 > 移动开发 > 详细

安卓奇葩问题之:返回按键监听,使Dialog不消失

时间:2016-06-01 14:18:47      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:

本文出处: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不消失

标签:

原文地址:http://www.cnblogs.com/a446276468/p/5549391.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!