Android EditText

Я новичок в 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);

person Igor    schedule 04.04.2011    source источник


Ответы (2)


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

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

Этот ответ может помочь вам, а может и не помочь.

person JAL    schedule 04.04.2011

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

person Nathan Schwermann    schedule 04.04.2011
comment
Спасибо, я реализовал перед TextChanged - person Igor; 05.04.2011