您当前的位置: 首页 > 

xiangzhihong8

暂无认证

  • 2浏览

    0关注

    1324博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

过滤输入法的表情

xiangzhihong8 发布时间:2014-06-26 15:25:52 ,浏览量:2

所以为了防止用户胡乱输入表情、同时限制用户只能输入应用自带的表情。编写了一个自定义控件来禁止输入的表情。

代码如下:

[java] view plain copy 在CODE上查看代码片 派生到我的代码片
  1. package com.qd.widget;  
  2.   
  3. import android.content.Context;  
  4. import android.text.InputFilter;  
  5. import android.text.SpannableString;  
  6. import android.text.Spanned;  
  7. import android.text.TextUtils;  
  8. import android.util.AttributeSet;  
  9. import android.widget.EditText;  
  10.   
  11. /** 
  12.  * 过滤搜狗输入法或其他输入法 当中的图片或其他非法字符 
  13.  *  
  14.  * 暂时仅过滤了部分常用的表情字符 
  15.  *  
  16.  * @author QD 
  17.  *  
  18.  */  
  19.   
  20. public class MyEditText extends EditText {  
  21.   
  22.     int maxLength = -1;  
  23.   
  24.     public MyEditText(Context context, AttributeSet attrs, int defStyle) {  
  25.         super(context, attrs, defStyle);  
  26.         addListener(attrs);  
  27.     }  
  28.   
  29.     public MyEditText(Context context, AttributeSet attrs) {  
  30.         super(context, attrs);  
  31.         addListener(attrs);  
  32.     }  
  33.   
  34.     public MyEditText(Context context) {  
  35.         super(context);  
  36.         addListener(null);  
  37.     }  
  38.   
  39.     private void addListener(AttributeSet attrs) {  
  40.         if (attrs != null)  
  41.             maxLength = attrs.getAttributeIntValue("http://schemas.android.com/apk/res/android", "maxLength", -1);  
  42.         // 过滤输入法表情  
  43.         InputFilter filter = new InputFilter() {  
  44.             @Override  
  45.             public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {  
  46.                 StringBuffer buffer = new StringBuffer();  
  47.                 for (int i = start; i  0)  
  48.             setFilters(new InputFilter[] { filter, new InputFilter.LengthFilter(maxLength) });  
  49.         else  
  50.             setFilters(new InputFilter[] { filter });  
  51.     }  
关注
打赏
1482932726
查看更多评论
立即登录/注册

微信扫码登录

0.1527s