Android - Ich möchte eine Zahleneingabe vom Benutzer in einen EditText erhalten - er muss durch Leerzeichen getrennt sein - alle 4 Zeichen. Beispiel: 123456781234 - & gt; 1234 5678 1234
Dies ist nur für visuelle Zwecke. Allerdings brauche ich die Zeichenfolge ohne Leerzeichen für die weitere Verwendung.
Wie kann ich das am einfachsten machen?
Sie müssen TextWatcher verwenden, um visuelle Zielbereiche zu erreichen.
Und verwenden Sie einfach eine einfache split-by-space Logik, um sie zurückzuschließen oder die gesamte Zeichenkette pro Zeichen zu durchlaufen und eliminieren Sie (char) 32
von der Zeichenkette
ist dieser Editext für Kreditkarten?
Erstellen Sie zuerst die Zählvariable
setze dies in dein oncreate (Aktivität) / onviewcreated (Fragment)
%Vor%Wie @waqas darauf hingewiesen hat, müssen Sie einen TextWatcher verwenden, wenn Sie dies erreichen wollen, da der Benutzer die Nummer eingibt. Hier ist eine Möglichkeit, wie Sie die Räume erreichen können:
%Vor%Wenn Sie die Zeichenfolge ohne Leerzeichen abrufen müssen, tun Sie Folgendes:
%Vor%Das Format des Textes ist 000 000 0000
android bearbeiten Texttextwatcher-Format Telefonnummer wie xxx-xxx-xx-xx
%Vor%Ändern Sie den Live-Text während der Eingabe ist etwas schwierig. Wir sollten die folgenden Probleme behandeln.
a. Cursorposition b. Wir sollten dem Benutzer erlauben, den eingegebenen Text zu löschen.
Der folgende Code behandelt beide Probleme.
Fügen Sie TextWatcher zu EditText hinzu und holen Sie sich den Text von "afterTextchanged ()" und schreiben Sie Ihre Logik
String str=""; int strOdlen = 0;
%Vor%Hier versuche ich, Platz für alle vier Zeichen hinzuzufügen. Nachdem das erste Leerzeichen hinzugefügt wurde, ist die Länge des Texts 5. Das nächste Leerzeichen ist also nach 9 Zeichen.
if (strLen == 4 || strLen == 9)
edtAadharNumber.setSelection (edtAadharNumber.getText (). length ());
Wenn Sie die Endlänge des Strings kennen, können Sie auf diese Weise TextWatcher
implementieren:
Sie fügen einfach einen Platz für jeden vierstelligen Block hinzu. p2 == 0
soll sicherstellen, dass der Benutzer nicht löscht, sonst würde er / sie eine Bestandsaufnahme erhalten.
Der Code ist in Kotlin, Sie können es genau so in Java tun.
Tags und Links android android-edittext