Android中EditText屏蔽第三方输入法表情的方法示例

作者:天下我有 时间:2021-07-23 01:13:11 

前言

众所周知如果用第三方的输入法的表情会给开发带来一定的麻烦,一般地像服务器上传的字符都是普通的字符,但是测试,就是狠狠得拿出搜狗输入法,点几个表情,那么问题就来了,要么是显示异常,要么是直接crash,但是有很少的部分机型,会支持,可能是第三方的ROM对Android 的TextView 做了一定的处理,所以,我们只能干掉该死的表情了。

具体的方法如下:

首先是在EditTextView 里面加入TextWatcher

在判断字符的变化时,就判断字符的类型,是否为字符,否则删除原来的字符,重新输入;


mEditTextView.addTextChangedListener(new TextWatcher() {

@Override
     public void afterTextChanged(Editable editable) {
       int index = contentText.getSelectionStart() - 1;
       if (index > 0) {
         if (isEmojiCharacter(editable.charAt(index))) {
           Editable edit = contentText.getText();
           edit.delete(index, index + 1);
         }
       }
     }

@Override
     public void beforeTextChanged(CharSequence s, int start, int count, int after) {

}

@Override
     public void onTextChanged(CharSequence s, int start, int before, int count) {

}
   });

这里就是判断字符是否为表情;


  private static boolean isEmojiCharacter(char codePoint) {
    return !((codePoint == 0x0) || (codePoint == 0x9) || (codePoint == 0xA) || (codePoint == 0xD) || ((codePoint >= 0x20) && odePoint <= 0xD7FF))|| ((codePoint >= 0xE000) && (codePoint <= 0xFFFD)) || ((codePoint >= 0x10000) && (codePoint <= 0x10FFFF)));
  }

来源:http://www.cnblogs.com/sssss/p/5029511.html

标签:android,edittext,输入法
0
投稿

猜你喜欢

  • java识别一篇文章中某单词出现个数的方法

    2022-04-24 06:18:40
  • springboot-2.3.x最新版源码阅读环境搭建(基于gradle构建)

    2022-11-19 01:47:41
  • Java黑盒测试之nextDate函数测试

    2023-02-10 20:31:08
  • 同时使用@LoadBalanced @RefreshScope注解负载均衡失效分析

    2023-12-07 10:59:24
  • java导出Excel通用方法的实例详解

    2022-06-25 14:28:25
  • C# Winfrom实现Skyline画直线功能的示例代码

    2023-04-24 12:41:48
  • c#中XML解析文件出错解决方法

    2022-01-21 00:38:50
  • Java线程同步方法实例总结

    2022-08-20 20:35:08
  • Android入门教程之ListView的应用示例

    2022-12-24 07:07:51
  • Java二维码登录流程实现代码(包含短地址生成,含部分代码)

    2021-10-23 02:06:26
  • Spring boot创建自定义starter的完整步骤

    2023-05-08 08:08:53
  • 深入探究Java线程的状态与生命周期

    2021-10-01 17:44:10
  • Activiti常用类简介

    2021-07-02 21:58:13
  • Android开发使用Handler的PostDelayed方法实现图片轮播功能

    2023-10-20 04:37:42
  • java9版本特性资源自动关闭的语法增强

    2023-10-30 23:35:24
  • C#域名解析简单实现方法

    2023-08-26 15:30:55
  • Java实现UDP多线程在线咨询

    2022-08-30 13:15:08
  • java利用udp实现发送数据

    2023-03-21 18:30:49
  • Spring异常捕获且回滚事务解决方案

    2023-04-25 18:32:41
  • Android sqlite设置主键自增长的方法教程

    2023-01-26 16:16:00
  • asp之家 软件编程 m.aspxhome.com