android中showSoftInput不起作用 与 toggleSoftInput
有些人会在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相关推荐
- android 目录作用,Android中各级目录的作用说明
android中各级目录的作用 1>目录结构 1.根目录: src目录---存放源代码文件 gen目录---adt插件生成的文件,(自动生成) assets目录---存放资源文件目录,不会在r. ...
- android中 cdf文件的作用是什么意思,行情艰难,Android初中高级面试题,附详细答案...
原标题:行情艰难,Android初中高级面试题,附详细答案 作者:夜猫少年 链接:https://juejin.im/post/5c8211fee51d453a136e36b0 Activity篇 1 ...
- android tag的作用,Android中的Context的作用(2)
ContextImpl关键成员和函数 /** * Common implementation of Context API, which provides the base * context obj ...
- Android 中的adapter和作用以及常见的adapter
简述: adapter是数据与ui之间的桥梁,它把后台数据与前端ui连接到一起,是一个展示数据的载体. 常用的adapter: BaseAdapter : 基础适配器,对于spinner listvi ...
- Android中layout目录的作用,Android 开发中layout下的子文件夹
Android 开发中layout下的子文件夹 发布时间:2020-10-25 11:42:36 来源:脚本之家 阅读:71 作者:厚土火焰山 如果一个项目内有很多个界面,那么在layout下会有太多 ...
- android中监听的作用,Android里的AdapterView中OnItemClickListener监听器四个参数的含义...
对Android开发中的Adapter接口的onItemClickListener监听器四个参数(arg)的理解: 代码:public void onItemClick(AdapterView> ...
- android打印机没反应了,使用蓝牙打印机在Android中打印不起作用
我正在研究的应用程序允许用户创建PDF,并且还允许使用蓝牙打印机打印它. 我创建了PDF,但每当我打算使用蓝牙打印机集成打印功能时,它就会在那里发生错误. 我无法获取蓝牙设备列表. 如果您有任何示例代 ...
- Android 中Uri.parse()的作用
博主前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住也分享一下给大家,
- Android中常见的4种线程池的理解(转)
转:https://blog.csdn.net/l540675759/article/details/62230562 转:https://blog.csdn.net/seu_calvin/artic ...
最新文章
- 使用java搭建直播平台,我就不信你还听不明白了!
- RabbitMQ 相关概念
- 钉钉免登陆前端操作详解
- flutter 监听返回
- 数据在内存中的大小端模式存储
- 微信小程序熊猫抽奖盒子panda_luckybox3.3.1多开版
- 2022年个人如何申请微信H5支付接口?
- NLP太卷,我去研究蛋白质了~
- 【EasyUI篇】Combo自定义下拉框组件
- 使用navicat导入SQL语句的教程
- i711370h和i710875h哪个好
- AD15批量修改引脚名字的方法
- 微信小程序开发(四)入门之打卡功能开发
- 不修条地铁,都不好意思叫自己大城市(附地铁发展图)
- (最优化理论与方法)第一章最优化简介-第三节:最优化基本概念
- 全新出品!阿里 P5 工程师~P8 架构师晋升路线揭秘
- 收集的seo优化的些基础知识
- 抽象类能否被实例化?
- SpringBoot 开启Redis缓存
- python家乡美食与旅游景点导游推荐系统django源码介绍
热门文章
- nginx: [error] invalid PID number in /run/nginx.pid解决办法之一
- 百度网盘Linux客户端不停缓冲打不开
- 3分钟搞懂LSI原理
- 2.12 矩阵及乘法重要总结
- 诛仙服务器显示横线,诛仙手游聊天颜色字体代码发送带颜色的字
- icd植入是大手术吗_白内障手术为何要植入人工晶体?便宜的人工晶体会影响视力吗?...
- 逐步加深的异步操作(上)
- List的Clear方法与RemoveAll方法用法小结
- jdk1.8 idea 项目报错spring验证不通过
- Java爬虫搜索原理实现