1

我想限制用户在编辑文本中输入任何特殊字符或数字,但以编程方式应该允许。

我知道我可以做inputType="text",但它只处理软键盘。我认为它可以通过 TextWatcher 来实现,但我无法凝胶化所有东西。任何人都可以帮忙吗?

4

3 回答 3

1
editTextView.setInputType(InputType.TYPE_TEXT_VARIATION_NORMAL);

密码、电子邮件地址等还有许多其他类型的输入可用。请参阅此 API 链接

谢谢 :)

于 2010-11-24T11:11:30.723 回答
1

您可以通过以下方式过滤输入文本,

etTwamboxName.setFilters(new InputFilter[] { new InputFilter() {
            public CharSequence filter(CharSequence src, int start, int end,
                    Spanned dst, int dstart, int dend) {

                Log.e("", "===> " + src);
                if (src.equals("")) { // for backspace
                    return src;
                }

                if (src.toString().matches("[a-zA-Z ]+.")) {
                    return src;
                }

                return "";
            }
        } });
于 2014-07-19T13:32:05.793 回答
1

试试这个方法,参考

android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
android:inputType="text"

有关更多信息,您可以查看http://developer.android.com/reference/android/widget/TextView.html#attr_android:digits

于 2015-07-27T10:51:04.337 回答