如何以编程方式用户android:digits

时间:2016-01-04 08:18:33

标签: android android-edittext

我目前正在使用

android:digits="qwertzuiopasdfghjklyxcvbnmQWERTZUIOPASDFGHJKLYXCVBNM "
<\ n>在EditText的Android XML中,它运行得很好。用户只能输入a-z,A-Z和空格中的字符(我不想让用户输入数字或特殊字符)。我想将此属性添加到另一个编辑文本字段programaticaly。任何人都可以帮我添加上述属性programmaticaly。我已经提到了以下链接,但没有用

Change android:digits programmatically How to block special characters in androids editText? no ANDROID:DIGITS

如果我使用

edtTxt.setKeyListener(DigitsKeyListener.getInstance("qwertzuiopasdfghjklyxcvbnmQWERTZUIOPASDFGHJKLYXCVBNM"));

数字小键盘正在打开。

1 个答案:

答案 0 :(得分:3)

尝试以下代码

edtTxt.setInputType(InputType.TYPE_CLASS_TEXT);
        edtTxt.setFilters(new InputFilter[]{
                new InputFilter() {
                    public CharSequence filter(CharSequence src, int start,
                                               int end, Spanned dst, int dstart, int dend) {
                        if (src.equals("")) {
                            return src;
                        }
                        if (src.toString().matches("[a-zA-Z ]+")) {
                            return src;
                        }
                        return "";
                    }
                }
        });