Verwenden von Android: Das Ziffernattribut zum Einschränken von Zeichen stoppt die Aktion der nächsten Schaltfläche

Ich habe eine Reihe von EditText-Feldern in einer Android-App und habe android: digits verwendet, um die Eingabe ungültiger Zeichen zu verhindern.

z.B:android:digits="@string/validchars" (wobei "validchars" eine Zeichenkettenressource aller gültigen Zeichen ist - z. B. A-Z, 0-9 und einige Satzzeichen)

Das Problem ist, wenn der Benutzer die EINGABETASTE auf der Softtastatur drückt, die er verwendet, um sie zum nächsten Feld zu bringen, aber seit ich android: digits bit hinzugefügt habe, funktioniert dies nicht mehr. Ich habe versucht, dem \ n hinzuzufügenvalidchars Dies erlaubt jedoch nur Zeilenumbrüche in den einzeiligen Textfeldern (!) und hilft daher nicht. Ich habe versucht, mit den imeOptions herumzuspielen (Hinzufügen vonactionNext etc) aber das scheint es auch nicht zu beheben. Ich habe über TextWatcher und InputFilters gelesen, aber beide scheinen zu kompliziert für das, was ich versuche, und das zu seinandroid:digits Bit funktioniert gut beim Stoppen der ungültigen Zeichen.

Hat jemand irgendwelche Ideen?

Ich verwende Android SDK Version 8 und habe sowohl Geräte der Version 2.2 als auch der Version 2.3.5 im Visier.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage