2013-12-10 11 views
6

Używam EditText w moim kodzie i porównywanie jego zawartości z ciągiem znaków po kliknięciu przycisku. Niestety wykonanie tej czynności za pomocą klawisza Enter za pomocą klucza onKey powoduje problemy, ponieważ enter tworzy podział wiersza . Użyłem:Ustawienie EditText na pojedynczą linię powoduje utratę ostrości po naciśnięciu Enter

setSingleLine(true); 

aby temu zapobiec. Ale teraz naciśnięcie enter prowadzi do EditText tracąc fokus. Dlaczego to się tak zachowuje i jak mogę to naprawić?

Odpowiedz

2

Spróbuj użyć tego android:lines="1" w twoim układzie xml dla EditText.

Spowoduje to uwzględnienie klawisza Enter jako nowej linii i ostrość nie zostanie utracona. Chociaż istniejący tekst może nie być widoczny z powodu tylko jednego wiersza, ponieważ przesuwał się w górę i ukrywał.

+0

Dziękuję, za pomocą tego zamiast setSingleLine (true) załatwia sprawę! – user3086884

+0

więc to powinno być oznaczane jako zaakceptowane ... :) –

+1

Zgadzam się. Oczywiście zaznaczę to, ale system jeszcze mi na to nie pozwolił. Jeszcze raz dziękuję :) – user3086884

0

Ustaw EditText jako kolejnego ogniska sobie:

<EditText 
    android:id="@+id/input" 
    ... 
    android:imeOptions="actionNext" 
    android:nextFocusForward="@+id/input" 
    android:singleLine="true" /> 
+0

Nie pracował koleś. Testuję swoją aplikację na Nexusie 5 - Android-M 6.1.1 –

Powiązane problemy