美文网首页Android
安卓dialog,屏蔽返回键,亲测可用

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

作者: 神经病人思路广 | 来源:发表于2019-01-20 15:09 被阅读6次

    最近做一个商品选择套餐的功能,需要一个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等等网上的其他方法

    相关文章

      网友评论

        本文标题:安卓dialog,屏蔽返回键,亲测可用

        本文链接:https://www.haomeiwen.com/subject/fgmxjqtx.html