Frage

Wenn ich eine maximale Länge der Eingabe in einem EditText Feld erzwingen mag, kann ich das maxLength Attribut verwenden. Aber wenn ich eine Mindestlänge erzwingen möge (in meinem Fall einfach nicht leer), finde ich kein entsprechendes minLength Attribut.

Ich habe auch bei dem verschieden ‚input‘ Attributen (Telefon, Passwort, usw.) gesucht, aber ich sehe nichts wie ‚erforderlich‘ oder ‚Nicht-leer‘.

Ich kann nicht glauben, dass dies einen benutzerdefinierten Eingangsfilter erfordern würde; es ist wahrscheinlicher, die Antwort so offensichtlich ist es nicht erhalten in der Form einfach nicht abgewertet ich die Frage bin gefragt.

War es hilfreich?

Lösung

Sie können einfach prüfen, ob yourField.text () auf null nicht entspricht oder „“ an der Stelle der Unterwerfung. Wenn es ist, fordert den Benutzer zur Eingabe von etwas.

Andere Tipps

Carefull mit etwas though. Wenn Sie eine Submit-Button haben, zum Beispiel, und Ihre Benutzer drücken einreichen, ohne den Fokus aus Ihrer TextEdit zu ändern, Ihre Methode wird nicht aufgerufen werden.

Nehmen Sie eine Aktivität mit 2 EditTexts und 1 Schaltfläche mit dem Namen "Go":

1) Benutzer schreibt etwas in EditText1

2) Der Nutzer klickt auf EditText2

3) Statt writting etwas da nur Klicks gehen.

Ihre onFocusChanged () Methode wird nicht aufgerufen, da der Fokus nicht „verloren“.

Wenn Sie eine Validierung in Ihrem Go button_click Methode haben, wird es auslösen, natürlich, aber Sie werden Ihr Ziel nicht erreichen „Ich war auf der Suche / erhofft war ein Weg, ein sofortiges Feedback zu geben“

Sie können versuchen, TextWatcher verwenden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top