禁止输入中文:
edit.setKeyListener(new DigitsKeyListener() { @Override public int getInputType() { return InputType.TYPE_TEXT_VARIATION_PASSWORD; } @Override protected char[] getAcceptedChars() { String dataID = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`¬!\"£$%^*()~=#{}[];':,./?/*-_+<>@&"; char[] data = dataID.toCharArray(); return data; } });
禁止输入emoji:
InputFilter emojiFilter = 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()) { return ""; } return null; } }; edit.setFilters(new InputFilter[]{emojiFilter});
只能输入英文和数字:
edit.setKeyListener(new DigitsKeyListener() { @Override public int getInputType() { return InputType.TYPE_TEXT_VARIATION_PASSWORD; } @Override protected char[] getAcceptedChars() { String dataID = "qwertyuioplkjhgfdsazxcvbnmQWERTYUIOPLKJHGFDSAZXCVBNM1234567890"; char[] data = dataID.toCharArray(); return data; } });
本文介绍了如何在Android应用中通过设置键盘监听器来限制EditText控件的输入类型,包括只允许输入数字和英文字符的方法,并提供了一种过滤Emoji表情的有效方案。
3万+

被折叠的 条评论
为什么被折叠?



