Фокус следующий текстовый вид автоматически - PullRequest
8 голосов
/ 31 мая 2010

У меня есть TextView с android:maxLength, установленным на 3, а другой с android:maxLength, установленным на 7.

Я хочу, чтобы фокус автоматически перемещался ко второму TextView после заполнения 3 символов первого TextView. Как этого добиться, не унаследовав TextView и не написав собственную реализацию?

Ответы [ 2 ]

6 голосов
/ 31 мая 2010

Я не пробовал, но это может сработать.

Настройка прослушивателя для запуска при изменении текста, для этого использования

addTextChangedListener(TextWatcher watcher)

Затем, основываясь на длине текста, вы можете запросить смену фокуса на следующее поле.

Если вы хотите узнать следующее поле, вы можете позвонить View.focusSearch(View.FOCUS_FORWARD) Найти ближайший вид в указанном направлении, которое может сфокусироваться. Это на самом деле не дает фокус на это представление.

5 голосов
/ 08 декабря 2014

Для будущих читателей, ожидающих COPY/PASTE

int MAX_LENGTH = 3;

txt1.addTextChangedListener(new TextWatcher() {
    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {
    }

    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {
        if (s.length() == MAX_LENGTH) {
            txt2.requestFocus(View.FOCUS_DOWN);
        }
    }

    @Override
    public void afterTextChanged(Editable s) {
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...