安卓dialog,屏蔽返回键,亲测可用

最近做一个商品选择套餐的功能,需要一个dialog进行翻页,然后按了返回键,dialog全部关闭了,这就很难受了,于是网上搜了一下,也试了很多,都不是想要的效果,突然想到按两下返回键退出app,刚好和这个功能相似,于是试了,果然成功,代码如下:

 var dismissTime = 0L
dialog.setOnKeyListener { dialog, keyCode, event ->
      if (keyCode == KeyEvent.KEYCODE_BACK) {
           if (!mNestedScrollView.isVisible) {
              //按下返回键,返回上一页
                                               
           } else {
             //按下返回键的同时会多次调用onkeyListener方法,所以这里用                  
            //时间做判断
              if ((System.currentTimeMillis() - dismissTime) > 500) {
                    dialog.dismiss()
                           
              }
            }
             dismissTime = System.currentTimeMillis()
           return@setOnKeyListener true
         } else {
           return@setOnKeyListener false
         }
 }

只需要上面这段代码,不需要其他操作,比如setCancel等等网上的其他方法

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 7,572评论 0 17
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 16,742评论 4 61

友情链接更多精彩内容