Android

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

2019-01-20  本文已影响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等等网上的其他方法

上一篇下一篇

猜你喜欢

热点阅读