Jak programowo ustawić fokus na widżecie przycisku?


Odpowiedzi:


190

Tak, to możliwe.

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

lub w formacie XML

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

Ważna uwaga: widget przycisku musi być focusable i focusableInTouchMode . Większość widżetów jest, focusableale nie focusableInTouchModedomyślnie. Więc upewnij się, że ustawiłeś go w kodzie

myBtn.setFocusableInTouchMode(true);

lub w formacie XML

android:focusableInTouchMode="true"

Próbuję tego w metodzie onCreate, ale nie działa. Tworzę przyciski dynamicznie i dodaję przyciski w LinearLayout. Czy ktoś może mi pomóc?
Manoj Kumar

6
to nie działa dla mnie. Mam EditView na mojej stronie, który zawsze ma fokus.
Bobs

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.