Android EditText - PullRequest
       20

Android EditText

0 голосов
/ 04 апреля 2011

Я новичок в Android. У меня есть EditText для одного письма. Он принимает только символы. Мне нужно заменить введенный символ новым, когда пользователь вводит другой символ на клавиатуре. Как я могу достичь этого? Возможно ли это?

// Set edit text width only to one character
    InputFilter[] FilterArray = new InputFilter[2];
    FilterArray[0] = new InputFilter.LengthFilter(1);
    FilterArray[1] = new InputFilter() {
        public CharSequence filter(CharSequence source, int start, int end,
                Spanned dest, int dstart, int dend) {
            for (int i = start; i < end; i++) {
                if (!Character.isLetter(source.charAt(i))
                        && !Character.isSpaceChar(source.charAt(i))) {
                    return "";
                }
            }
            return null;
        }
    };
    editLetter.setFilters(FilterArray);

Ответы [ 2 ]

0 голосов
/ 04 апреля 2011

TextWatcher должен пригодиться для этого.

0 голосов
/ 04 апреля 2011

Рассмотрите возможность использования регулярных выражений и replaceAll как в:

// ASSERT inString not null
public static String removeTags(String inString) throws IllegalArgumentException {
    if (inString == null) {throw new IllegalArgumentException();}
    return inString.replaceAll("<.*>","");
}

Этот ответ может или не может помочь вам вообще.

...