Ich möchte verhindern, dass der Benutzer mehr Buchstaben als einen bestimmten Wert in ein Warndialogfeld einfügt, das eine Bearbeitungstextinstanz enthält. Ich versuche den Eingabefilter zu verwenden. Längenfilter, der jedoch nur die Zeichenfolge bis zur angeforderten Länge anzeigt. Der Benutzer kann immer noch mehr Zeichen schreiben, und wenn ich versuche, Zeichen zu löschen, geschieht nichts, bis ich genügend Zeichen lösche, damit das Wort kürzer als das Limit ist (die Tastatur merkt sich die Tasten).Verhindern, dass Benutzer weitere Zeichen einfügen, nachdem die Größenbeschränkung in EditText erreicht wurde.
EDIT: Um klarer zu sein, habe ich bereits mit InputFilter versucht. Das erzwingt tatsächlich eine String-Größe, die an den EditText übergeben wird, aber wie gesagt kann ich weiterhin Buchstaben mit der Tastatur schreiben, die nicht im Textfeld angezeigt werden. Wenn ich delete drücke, löscht es zuerst die zusätzlichen Buchstaben und erst nachdem genug Buchstaben gelöscht sind, beginne ich zu sehen, wie die Buchstaben in dem Textfeld gelöscht werden. Mein gewünschtes Szenario: Setze die Zeichenanzahl auf 10. Drücke 15 Zeichen auf meiner Tastatur. Drücken Sie dann die Rücktaste, und der letzte Buchstabe im Textfeld wird gelöscht. Ich hoffe, das ist jetzt klarer.
Kann jemand helfen?
Ich weiß, das ein Jahr alt ist, aber ich versuche, um herauszufinden, ob es etwas gibt, die auch in dieser Situation getan werden kann, . Ich nehme an, dass es das nicht gibt, weil jede Tastatur das Vorschau-Display selbst handhabt, aber vielleicht gibt es etwas. Aufgrund der Disparität zwischen der Vorschau und dem, was tatsächlich im EditText ist, erscheint es definitiv wie ein seltsames UX. – codebaum