EditText输入中文时出现下划线拼音处理
需求:用户在EditText里输入文字时 通过afterTextChanged监听用户输入状态,在输入文字时自动调用后台,请求数据。
问题:在小米等部分手机上时,因为小米系统的问题,输入法在EditText上输入东西时,会优先输入一段带下划线的拼音然后在用户选择某个字的时候才会变成汉字,但是对于afterTextChanged方法来说,不管是拼音还是汉字都会触发监听事件,对于我们而言,很明显那些拼音输入时不需要的。
如我输入 学习 二字,在小米上就是先显示 xuexi 然后才能选择 学习。
解决方法:
/*** 过滤非选中输入,比如输入中文时,过滤掉搜索框里已经输入的拼音(小米手机出现的情况)* 返回空字符串,就代表匹配不成功,返回null代表匹配成功*/ InputFilter iF = new InputFilter() {@Overridepublic CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {SpannableString ss = new SpannableString(source);Object[] spans = ss.getSpans(0, ss.length(), Object.class);if(spans != null) {for(Object span : spans) {if(span instanceof UnderlineSpan) {return "";}}}return null;} };
自定义过滤机制,判断是下划线的span就不输入。调用:mEditext.setFilters(new InputFilter[]{iF});
/**
* 输入字符监听搜索
*/
mEditext.addTextChangedListener(new TextWatcher() {@Overridepublic void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {}@Overridepublic void onTextChanged(CharSequence charSequence, int i, int i1, int i2) { }@Overridepublic void afterTextChanged(Editable editable) {} });
EditText输入中文时出现下划线拼音处理相关推荐
- 解决oninput在输入中文时,会获取拼音的问题
解决oninput在输入中文时,会获取拼音的问题 参考文章: (1)解决oninput在输入中文时,会获取拼音的问题 (2)https://www.cnblogs.com/sas1231/p/1047 ...
- 搜狗输入法在idea打不了汉字_IDEA下搜狗输入法输入中文时卡着不动的参考解决方法...
在IntelliJ IDEA工具的java编辑窗口,给代码增加注释时发现,输入中文时,搜狗输入法界面不动,一直卡着,如图: 我想输入"根据"两个字,但搜狗输入法界面一直卡着不刷新, ...
- 电脑打字拼音出现下划线,没有中文提示框
电脑打字拼音出现下划线,没有中文提示框,解决办法如下: 输入法状态栏单击右键–设置–常规–最下面使用以前的版本–成功 1. 2. 3. 4. 电脑打字拼音出现中文提示框.
- html输入框禁止输入汉字,input输入框输入中文时,监听的input事件怎样屏蔽拼音状态...
在input输入框输入中文时,需要即时查询出匹配输入内容的结果,一般我们会使用input事件监听用户输入事件,但是在输入汉语拼音时,也会触发input事件,前端就会不断发送请求,用户体验非常差劲. 针 ...
- 搜狗输入法在idea打不了汉字_搜狗输入法在idea打不了汉字_好烦啊,IDEA输入中文时输入法候选词框不跟随光标......
PS:虽然写这篇文章会让人感觉很无聊,但是既然费心思去做了,写下来也不为过O(∩_∩)O~ 起因: 前几日在下从Eclipse搬迁到了IDEA,但是输入中文代码注释时,发现输入法的候选词框一直在右下角 ...
- 搜狗输入法在idea打不了汉字_好烦啊,IDEA输入中文时输入法候选词框不跟随光标...
PS:虽然写这篇文章会让人感觉很无聊,但是既然费心思去做了,写下来也不为过O(∩_∩)O~ 起因: 前几日在下从Eclipse搬迁到了IDEA,但是输入中文代码注释时,发现输入法的候选词框一直在右下角 ...
- 好烦啊,IDEA输入中文时输入法候选词框不跟随光标
PS:虽然写这篇文章会让人感觉很无聊,但是既然费心思去做了,写下来也不为过O(∩_∩)O~ 起因: 前几日在下从Eclipse搬迁到了IDEA,但是输入中文代码注释时,发现输入法的候选词框一直在右下角 ...
- html鼠标出现下划线,鼠标移上链接出现下划线
核心提示:有些网页的链接,原先没有下划线,你把鼠标指向链接处,才会出现下划线,鼠标移掉下划线就又没有了. 有些网页的链接,原先没有下划线,你把鼠标指向链接处,才会出现下划线,鼠标移掉下划线就又没有了. ...
- JavaScript表单验证,输入中文时字符长度为2
获取输入框中的字符长度进行表单验证,当输入英文时字符长度就是1,当输入中文时字符长度为2. 字符数为4~16位, 上图: 一个中文抵两英文. 上代码 1 btn.addEventListener('c ...
最新文章
- android简单服务器的搭建
- Mockito框架实现学习之when(dummy)
- jxls使用excel公司_使用jXLS将Excel文件解析为JavaBeans
- eve模拟器_《Re:从零开始的新伊甸征程》一步到位教你下载EVE手游
- 网管型交换机比普通交换机有哪些明显优势
- android 用户中心布局,android用户中心头像选择功能的方法实现-Go语言中文社区
- linux创建根目录代码,Linux文件系统之目录的建立
- Erlang中一些错误或者异常的标识
- 【转】Python 2.x和Python3.x的区别
- UOS U盘已经复制成功,有时卡死
- 【积】有向图中的louvain社区检测(二)
- C语言题目:输入角度a,输出a的正弦值(sin a)
- matlab 单相整流电路,MATLAB的单相桥式整流电路研究
- 免费网站域名去哪找?免费域名靠谱吗?
- 消息队列(MQ) 企业服务总线(ESB)
- Android图片分享问题采坑总结
- docker如何使用阿里加速器的方法
- 《方与圆》序人生控制论
- window检测到计算机,Windows检测到一个硬盘问题怎么办
- 零售商商品管理系统——需求分析