2013-12-10 9 views
6

Ich benutze einen EditText in meinem Code und vergleiche den Inhalt mit einem String, wenn ich auf eine Schaltfläche klicke. Leider verursacht dies mit der Eingabetaste über onKey Probleme, weil die Eingabe einen Zeilenumbruch erzeugt. Ich benutzte:Wenn EditText auf eine einzelne Zeile gesetzt wird, wird der Fokus nach dem Drücken der Eingabetaste gelöscht.

setSingleLine(true); 

um dies zu verhindern. Jetzt führt das Drücken der Eingabetaste dazu, dass EditText seinen Fokus verliert. Warum verhält es sich so und wie repariere ich es?

Antwort

2

Verwenden Sie diese android:lines="1" in Ihrem Layout-XML für EditText.

Dies wird die Enter-Taste als neue Zeile und Fokus wird nicht verlieren. Obwohl vorhandener Text möglicherweise aufgrund nur einer Zeile nicht sichtbar ist, wurde er nach oben verschoben und ausgeblendet.

+0

Danke, mit diesem statt setSingleLine (true) funktioniert der Trick! – user3086884

+0

so das ans Zeichen als akzeptiert sein sollte ... :) –

+1

Ich stimme zu. Natürlich werde ich das markieren, aber das System hat es mir noch nicht erlaubt. Danke nochmal :) – user3086884

0

die EditText als der nächste Schwerpunkt der selbst Set:

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

Habe nicht gearbeitet, Alter. Ich teste meine App auf Nexus 5 - Android-M 6.1.1 –

Verwandte Themen