Ich habe eine Reihe von EditText Felder auf einer Android-App und ich habe Android: Ziffern, um die Eingabe ungültiger Zeichen zu stoppen.Mit Android: Ziffern Attribut, um Zeichen zu beschränken stoppt Aktion nächste Schaltfläche
zB: android:digits="@string/validchars"
(wobei "ValidChars" ist ein String-Ressource aller gültigen Zeichen - zB AZ, 0-9, und einige Satzzeichen)
Das Problem ist, wenn der Benutzer die ENTER-Taste trifft auf der Soft-Tastatur hat man sie zum nächsten Feld gebracht, aber seit ich android: digits gebe, funktioniert das nicht mehr. Ich habe versucht, \ n zu validchars
hinzuzufügen, aber dies erlaubt nur Carriage Returns in den einzelnen Zeilen Textfelder (!), So dass es nicht hilft. Ich habe versucht, mit den imeOptions zu fummeln (Hinzufügen actionNext
etc), aber das scheint es auch nicht zu beheben. Ich habe über TextWatchers und InputFilters gelesen, aber beide scheinen für das, was ich versuche, zu kompliziert zu sein, und das android:digits
-Bit funktioniert einwandfrei, wenn die ungültigen Zeichen angehalten werden.
Hat jemand irgendwelche Ideen?
Ich verwende Android SDK Version 8 und Ausrichtung auf 2.2 und 2.3.5 Geräte.
Alternativ, wenn der Benutzer eine "done" -Option anstelle der nächsten haben möchte, finden Sie in dieser Frage, die sich auf http://stackoverflow.com/questions/1919742/android-editview- done-button – CrimsonX
android: singleLine veraltet = (ist es anders möglich? –
Ich glaube, dass Sie jetzt maxLines = "1" – Buzby