美文网首页
android showSoftInput方法调用软键盘不显示

android showSoftInput方法调用软键盘不显示

作者: SnowDragonYY | 来源:发表于2017-09-21 15:58 被阅读0次
    InputMethodManager imm= (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);  
    imm.showSoftInput(view, 0);  
    

    项目中有这样一个需求,在某帖子里点击某一条评论的时候,弹出对话框让用户选择是删除评论还是回复评论,当用户点击回复评论的时候,自动打开软键盘,因此调用上述代码来显示软键盘,但软键盘并不会显示;

    经查阅,发现只有当界面绘制完毕的时候,调用上述代码软键盘才会显示,在对话框消失的时候,马上调用上述代码,同时界面也要重新显示,所以软键盘不会显示,另外在oncreate里调用上述代码也不会显示;

    解决办法:

    把上述代码的调用延迟执行即可;

    view.postDelayed(new Runnable() {  
                @Override  
                public void run() {  
                    InputMethodManager imm= (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);  
                    imm.showSoftInput(view, 0);  
                }  
            }, 100);  
    

    相关文章

      网友评论

          本文标题:android showSoftInput方法调用软键盘不显示

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