Як програмно встановити фокус на віджет кнопки?


81

Чи можна встановити фокус на віджет кнопки, який лежить десь у моєму макеті? onCreateмоєї діяльності / мого контролю / зосередження на цій кнопці повинен бути програмно.

Відповіді:


190

Так, це можливо.

Button myBtn = (Button)findViewById(R.id.myButtonId);
myBtn.requestFocus();

або в XML

<Button ...><requestFocus /></Button>

Важлива примітка: Віджет кнопки повинен бути focusable і focusableInTouchMode . Більшість віджетів є, focusableале не focusableInTouchModeза замовчуванням. Тож обов’язково встановіть його в коді

myBtn.setFocusableInTouchMode(true);

або в XML

android:focusableInTouchMode="true"

Я пробую це в методі onCreate, але він не працює. Я створюю кнопки динамічно і додаю їх у LinearLayout. Хто-небудь може допомогти мені?
Manoj Kumar

6
у мене це не працює. На моїй сторінці є EditView, який завжди фокусується.
Бобс

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.