zoukankan      html  css  js  c++  java
  • AlertDialog禁止返回键

    android 如何让dialog不消失,即使是用户按了返回键dialog也不消失
    解决的问题:软件提示升级的dialog时候,用户有可能按了返回键,但是现在的需求是用户只能按“确定升级”或者“暂时不升级”这两个按钮才能拿dialog消失,按返回键不能使dialog消失
    方案:截取activity的 onkeydown事件,而应该截取dialog的key响应事件,当dialog在前台显示的时候,keylistener首先会派发到dialog里面,在那里面监听就行了。
    先申明一个keylistener。
        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;
                }
            }
        } ;
    在把这个listener注册到dialog里面去 当初始化dialog的时候
                    builder.setTitle(getText(R.string.XXXX))
                            .setMessage(getText(R.XXXXXX))
                            .setOnKeyListener(key).setCancelable(false)
                            .setPositiveButton(android.R.string.ok, someOKButtonListener)
                            .setNegativeButton(android.R.string.cancel, null);

    PS: setCancelable(false),作用是当dialog弹出来的时候,如果触点在dialog外围,按照默认的方式 dialog将消失。如果这个设为false的话 这种情况dialog就不会消失了。  加了这一句就OK了。dialog.setCancelable(false);

  • 相关阅读:
    css 基线与行高
    requests超时
    小记--------Ambari2.7.4集成Kylin3.0
    记一次--------HDP3.1 spark创建表hive读不到,hive创建表spark读不到
    记一次-------- sqoop同步mysql到hive 执行太慢
    记一次--------hive创建表comment中文乱码解决
    .Net Core学习之路-跳坑(一)
    NGINX、HAProxy和Traefik负载均衡能力对比
    idea 一键启动多个微服务项目
    vuedraggable自由拖拽
  • 原文地址:https://www.cnblogs.com/ldq2016/p/6026490.html
Copyright © 2011-2022 走看看