一. 问题描述

就是我在打开省市区弹框前,如果有软键盘就隐藏后显示弹框,但是当我打开弹框时,软件盘并没有消失并和弹框一起出现顶到上面去,具体看下图。
在这里插入图片描述

在这里插入图片描述

二. 问题尝试

从网上找了很多方法,比如下面这条,试了也是没效果,但好奇的就是它如果不在弹窗中是可以关闭的

   InputMethodManager inputMsg = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
   if(inputMsg !=null){
         inputMsg.hideSoftInputFromWindow(getWindow().getDecorView().getWindowToken(), 0);
   }
三. 成功解决

上面那个方法也不是不对,只是少了点东西,然后我在它基础上稍微改下,就可以了

    InputMethodManager inputMsg = (InputMethodManager) v.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
    if(inputMsg !=null){
           inputMsg.hideSoftInputFromWindow(v.getWindowToken(), 0);
    }

这个我是在vivo手机上试的,其他手机还没试

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐