Ho un numero di campi EditText su un'app Android e ho utilizzato Android: cifre per bloccare l'immissione di caratteri non validi.Utilizzo di Android: l'attributo Digits per limitare i caratteri interrompe l'azione sul pulsante successivo funzionante
esempio: android:digits="@string/validchars"
(dove "validchars" è una risorsa di stringa di tutti i caratteri validi - ad esempio, AZ, 0-9, e alcuni segni di punteggiatura)
Il problema è che, se l'utente preme il tasto INVIO sulla tastiera morbida che usava per portarli al campo successivo ma da quando ho aggiunto Android: bit di cifre questo ha smesso di funzionare. Ho provato ad aggiungere \ n allo validchars
, ma ciò consente solo il ritorno a capo nelle caselle di testo a riga singola (!), Quindi non aiuta. Ho provato a giocherellare con imeOptions (aggiungendo actionNext
ecc.) Ma questo non sembra risolvere il problema. Ho letto su TextWatchers e InputFilters, ma entrambi sembrano essere troppo complicati per quello che sto cercando di fare e il android:digits
bit funziona perfettamente nell'arresto dei caratteri non validi.
Qualcuno ha qualche idea?
Sto utilizzando Android SDK versione 8 e destinato sia a dispositivi 2.2 che 2.3.5.
In alternativa, se l'utente desidera avere un'opzione "completata" anziché successiva, vedere questa domanda, che è correlata http://stackoverflow.com/questions/1919742/android-editview- done-button – CrimsonX
android: singleLine deprecated = (è un altro modo? –
Credo che ora dovresti usare maxLines = "1" – Buzby