Проблема с фокусом запроса Android

#android #focus #edit

#Android #фокус #Редактировать

Вопрос:

У меня есть ViewFlipper с несколькими LinearLayout с EditText ; после нажатия кнопки выполняется некоторая проверка, и если это не удастся, мне нужно установить фокус на редактирование, которое необходимо изменить. vf является ViewFlipper ; et123 является EditText . При обнаружении ошибки выполняется следующее:

  vf.setDisplayedChild(5);
 findViewById(R.id.et123).requestFocus();
  

Забавно то, что при первом нажатии кнопки фокус переходит на другой элемент в правильном макете. Если я нажму кнопку еще раз, фокус переместится на et123 .

Есть идеи о том, почему это происходит или как это исправить?

Спасибо

Ответ №1:

Возможно, вам потребуется вызвать

 findViewById(R.id.et123).setFocusableInTouchMode(true);
  

Перед вызовом requestFocus() , чтобы включить получение фокуса.

Комментарии:

1. У меня все работает, спасибо. Но я все еще не понимаю, почему я должен использовать его при навигации по приложению через D-Pad, это не TouchMode.