0X00 禁用emoji

有时候我们不想在EditText中输入Emoji表情,怎么处理呢?
我们可以通过设置InputFilter的方式来达到这个目的。怎么实现呢?直接上代码。

public InputFilter emojiFilter = new InputFilter() {        @Override        public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {            for (int index = start; index < end; index++) {                int type = Character.getType(source.charAt(index));                if (type == Character.SURROGATE) {                    return "";                }            }            return null;        }    };

0X01 问题

但是当我们设置了InputFilter之后可能会出现一个问题,就是当我们在代码中设置 android:maxLength="8"的时候,会发现不起作用了。我们点进去InputFilter,查看其源码我们就会发现,里面还有个自带的LengthFilter。我们就可以通过再添加一个LengthFileter就可以了。

 editText.setFilters(new InputFilter[]{new InputFilter.LengthFilter(8), emojiFilter})

更多相关文章

  1. Android中的DownloadManager
  2. android spinner自动弹出列表,设置title,TtextView不换行自动截取
  3. Android(安卓)BitmapFactory.Options 介绍
  4. Android(安卓)的网络编程
  5. Eclipse下Android-SDK-1.5模拟器启动设置
  6. Android(安卓)程序获取、设置铃声、音量、静音、扬声器
  7. android 4中新增的日历处理相关API
  8. Android(安卓)属性动画(Property Animation) 完全解析 (下)
  9. Android(java)学习笔记113:Android编写代码调用Vibrator震动功能,按

随机推荐

  1. 实时监听Android系统的网络连接状态
  2. Android(安卓)app 适配
  3. android 应用程序的内存分析
  4. Google Play services SDK的安装
  5. Android之BroadcastReceiver(三):发送自定义
  6. Android(安卓)AppWidget核心之AppWidgetS
  7. Android架构组件(3)LiveData框架
  8. EventBus源码解析-总结篇
  9. Ubuntu14.04交叉编译i2c-tools
  10. Android(安卓)SurfaceView 图像拉伸