Android中怎么利用EditText禁止输入表情

这期内容当中小编将会给大家带来有关Android中怎么利用EditText禁止输入表情,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

十载的西青网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都全网营销的优势是能够根据用户设备显示端的尺寸不同,自动调整西青建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联建站从事“西青网站设计”,“西青网站推广”以来,每个客户项目都认真落实执行。

InputFilter inputFilter= new InputFilter() {
    Pattern emoji = Pattern.compile("[\ud83c\udc00-\ud83c\udfff]|[\ud83d\udc00-\ud83d\udfff]|[\u2600-\u27ff]",
        Pattern.UNICODE_CASE | Pattern.CASE_INSENSITIVE);

    @Override
    public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
      Matcher emojiMatcher = emoji.matcher(source);
      if (emojiMatcher.find()) {
        //          Toast.makeText(MainActivity.this,"不支持输入表情", 0).show();
        MyToast.showText("不支持输入表情");
        return "";
      }
      return null;
    }
  };

然后给editText设置filter,这里给editText设置了两个filter第一个是屏蔽表情,第二个是设置用户输入多少字数的限制

//给editText设置filter
edit_name.setFilters(new InputFilter[]{inputFilter,new InputFilter.LengthFilter(12)});

当然这里最后要提醒大家一点就是,这样屏蔽的表情符号肯定还是不能够百分之百的屏蔽完全的。所以最后我们只能选择让用户填写英文,汉字,和数字了。下面是过滤的代码

InputFilter inputFilter=new InputFilter() {

    Pattern pattern = Pattern.compile("[^a-zA-Z0-9\\u4E00-\\u9FA5_]");
    @Override
    public CharSequence filter(CharSequence charSequence, int i, int i1, Spanned spanned, int i2, int i3) {
     Matcher matcher= pattern.matcher(charSequence);
      if(!matcher.find()){
        return null;
      }else{
        MyToast.showText("只能输入汉字,英文,数字");
        return "";
      }

    }
  };

上述就是小编为大家分享的Android中怎么利用EditText禁止输入表情了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。


网站名称:Android中怎么利用EditText禁止输入表情
本文来源:http://hbruida.cn/article/gigdhh.html