editextは絵文字をサポートしていませんが、すべてのコンテンツをサポートしています

序文:私はインターネットで多くの関連コンテンツを読みました。うまくいきました。ただし、句読点は入力できません。一部のユーザーは再生できますが、絵文字を完全にマスクすることはできません。以下は、多くのテストの後に見つけた正規表現です。

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

            @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 {
    
    
                    ToastUtils.showToast("只能输入汉字,英文,数字");
                    return "";
                }

            }
        };
        binding.editContent.setFilters(new InputFilter[]{
    
    inputFilter, new InputFilter.LengthFilter(300)});

絵文字リンクの絵文字接続を参照してください
私は困っている学生を助けたいと思います

おすすめ

転載: blog.csdn.net/leol_2/article/details/106568449