Witaj Sieciowy Szperaczu :)
Wiedz, że nie znajdziesz tutaj kodów źródłowych ani poradników jak kodzić dobre i przemyślane aplikacje na Androida.

Za to zobaczysz moje wolne przemyślenia, porady i pomysły. Dowiesz się też z czym miałem problemy, które napotkałem podczas swojej przygody z 'Andkiem' oraz, co ważniejsze, ich rozwiązania.

poniedziałek, 13 czerwca 2011

EditText - automatyczny focus na starcie Activity - jak go wyłączyć?

Sprawdzając jaki arsenał przygotowało nam Google w postaci kontrolek widoku napotkałem mały problem.

Jeżeli dodamy do widoku pole EditText, które służy do wpisywania tekstu przez użytkownika, na starcie aktywności pole będzie 'sfokusowane' czyli pojawi się nam klawiaturka i od razu możemy wpisywać tekst. Fajne rozwiązanie, ale co jeśli nie chemy, aby po starcie EditText miał focus?

O tym chyba brać Googlowska zapomniała, bo (po  poszukiwaniach w sieci) jedynym, najprostszym i w pełni działającym rozwiązaniem jest wstawienie bezsensownie przed EditText znacznika:


1
2
3
<LinearLayout
    android:focusable="true" android:focusableInTouchMode="true"
    android:layout_width="0px" android:layout_height="0px"/>


który będzie niewidoczy i rozwiąże nasz problem.
Miejmy nadzieję, że w przyszłych wersjach systemu zostanie dodany atrybut o wartościach boolowskich w stylu 'autoFocus' :)

Źródło: http://stackoverflow.com/questions/1555109/stop-edittext-from-gaining-focus-at-activity-startup

Brak komentarzy:

Prześlij komentarz