有些人会在activity或者fragment的onCreate(或者onCreateView)函数中就去调用上面两行代码,发现并不起作用,这是因为在onCreate中或者其他声明周期函数(onStart,onResume等)中,该EditText还未被绘制出来,InputMethodManager还不能获取到该控件的焦点,所以键盘并不会显示,而且manager.showSoftInput函数返回false,告诉你键盘并未显示。所以只有当EditText完全被绘制出来了,才可以去获取焦点。

解决办法

edittext.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {  
      @Override  
      public void onGlobalLayout() {  
          InputMethodManager manager = (InputMethodManager) getActivity().getSystemService(getActivity().INPUT_METHOD_SERVICE);  
          manager.showSoftInput(edittext, 0);  
      }  
});

在该段代码中去监听edittext是否被绘制完毕,如果绘制完毕则调用onGlobalLayoutListener.onGlobalLayout函数,在该函数中去显示键盘,运行下,就发现键盘可以正常弹出啦。

对于toggleSoftInput 方法的区别

InputMethodManager imm = (InputMethodManager)mContext.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);

showsoftinput 需要指定text,那么需要text绘制完成才会真正的将焦点给text并弹出软键盘,但是方法紧接着edittext创建执行,那么此时未发现绘制好的text,那么返回FALSE。也就不弹出软键盘。但是 togglesoftinput 直接弹出软键盘,不指定焦点给text。

android中showSoftInput不起作用 与 toggleSoftInput相关推荐

  1. android 目录作用,Android中各级目录的作用说明

    android中各级目录的作用 1>目录结构 1.根目录: src目录---存放源代码文件 gen目录---adt插件生成的文件,(自动生成) assets目录---存放资源文件目录,不会在r. ...

  2. android中 cdf文件的作用是什么意思,行情艰难,Android初中高级面试题,附详细答案...

    原标题:行情艰难,Android初中高级面试题,附详细答案 作者:夜猫少年 链接:https://juejin.im/post/5c8211fee51d453a136e36b0 Activity篇 1 ...

  3. android tag的作用,Android中的Context的作用(2)

    ContextImpl关键成员和函数 /** * Common implementation of Context API, which provides the base * context obj ...

  4. Android 中的adapter和作用以及常见的adapter

    简述: adapter是数据与ui之间的桥梁,它把后台数据与前端ui连接到一起,是一个展示数据的载体. 常用的adapter: BaseAdapter : 基础适配器,对于spinner listvi ...

  5. Android中layout目录的作用,Android 开发中layout下的子文件夹

    Android 开发中layout下的子文件夹 发布时间:2020-10-25 11:42:36 来源:脚本之家 阅读:71 作者:厚土火焰山 如果一个项目内有很多个界面,那么在layout下会有太多 ...

  6. android中监听的作用,Android里的AdapterView中OnItemClickListener监听器四个参数的含义...

    对Android开发中的Adapter接口的onItemClickListener监听器四个参数(arg)的理解: 代码:public void onItemClick(AdapterView> ...

  7. android打印机没反应了,使用蓝牙打印机在Android中打印不起作用

    我正在研究的应用程序允许用户创建PDF,并且还允许使用蓝牙打印机打印它. 我创建了PDF,但每当我打算使用蓝牙打印机集成打印功能时,它就会在那里发生错误. 我无法获取蓝牙设备列表. 如果您有任何示例代 ...

  8. Android 中Uri.parse()的作用

    博主前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住也分享一下给大家,

  9. Android中常见的4种线程池的理解(转)

    转:https://blog.csdn.net/l540675759/article/details/62230562 转:https://blog.csdn.net/seu_calvin/artic ...

最新文章

  1. 使用java搭建直播平台,我就不信你还听不明白了!
  2. RabbitMQ 相关概念
  3. 钉钉免登陆前端操作详解
  4. flutter 监听返回
  5. 数据在内存中的大小端模式存储
  6. 微信小程序熊猫抽奖盒子panda_luckybox3.3.1多开版
  7. 2022年个人如何申请微信H5支付接口?
  8. NLP太卷,我去研究蛋白质了~
  9. 【EasyUI篇】Combo自定义下拉框组件
  10. 使用navicat导入SQL语句的教程
  11. i711370h和i710875h哪个好
  12. AD15批量修改引脚名字的方法
  13. 微信小程序开发(四)入门之打卡功能开发
  14. 不修条地铁,都不好意思叫自己大城市(附地铁发展图)
  15. (最优化理论与方法)第一章最优化简介-第三节:最优化基本概念
  16. 全新出品!阿里 P5 工程师~P8 架构师晋升路线揭秘
  17. 收集的seo优化的些基础知识
  18. 抽象类能否被实例化?
  19. SpringBoot 开启Redis缓存
  20. python家乡美食与旅游景点导游推荐系统django源码介绍

热门文章

  1. nginx: [error] invalid PID number in /run/nginx.pid解决办法之一
  2. 百度网盘Linux客户端不停缓冲打不开
  3. 3分钟搞懂LSI原理
  4. 2.12 矩阵及乘法重要总结
  5. 诛仙服务器显示横线,诛仙手游聊天颜色字体代码发送带颜色的字
  6. icd植入是大手术吗_白内障手术为何要植入人工晶体?便宜的人工晶体会影响视力吗?...
  7. 逐步加深的异步操作(上)
  8. List的Clear方法与RemoveAll方法用法小结
  9. jdk1.8 idea 项目报错spring验证不通过
  10. Java爬虫搜索原理实现