美文网首页
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