Android: bestätigen müssen ein edittext für nicht-leere Eingabe
Wenn ich will, zu erzwingen, eine maximale Länge der Eingabe in ein EditText Feld, ich kann mit dem maxLength-Attribut. Aber wenn ich will, zu erzwingen, eine minimale Länge (in meinem Fall einfach nicht-leer), ich finde keine entsprechende Attribut minLength.
Habe ich auch angeschaut, die verschiedenen 'inputType' Attribute (Telefon, Passwort, etc) aber ich sehe nichts wie 'erforderlich' oder 'nicht-leer'.
Ich kann nicht glauben, dass dies würde erfordern, eine benutzerdefinierte input-filter; es ist mehr als wahrscheinlich die Antwort ist so offensichtlich, dass es einfach nicht aufgeschrieben in der form, die ich bin, die Frage zu stellen.
InformationsquelleAutor Anne Gunn | 2010-04-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie einfach überprüfen, dass yourField.text() ist nicht äquivalent zu null oder "" an der Stelle der Abgabe. Wenn es ist, den Benutzer auffordern, eine Eingabe tätigen.
Ich Schätze beide Vorschläge. Und das ist im Grunde das, was ich Tue -- Validierung nachdem alle Felder ausgefüllt sind und der Benutzer drückt die Schaltfläche "go". Aber was ich Suche/Hoffnung auf eine Möglichkeit zu geben ein sofortiges feedback, wenn der Fokus lässt ein Feld vor geht es zur nächsten.
Dann müssen Sie nur überprüfen wollen, in der
onFocusChanged()
des EditTextDas ist es, was mir fehlte. Ich schaute auf onFocusChanged (), wurde aber in die Irre führen, indem es ein View-Methode, so dass ich dachte, es angewendet, um etwas anderes als ein einzelnes Feld. Aber, natürlich, ein EditText ist eine TextView, die wiederum einen Blick. Danke.
InformationsquelleAutor jqpubliq
Vorsichtig mit etwas obwohl. Wenn Sie eine senden-Schaltfläche, zum Beispiel, und Ihr user drückt submit ohne änderung des Fokus außerhalb Ihrer TextEdit, Ihre Methode nicht aufgerufen werden.
Nehmen eine Aktivität, mit 2 EditTexts und 1 button namens "Go":
1) Benutzer schreibt etwas in EditText1
2) Nutzer klickt auf EditText2
3) Statt writting etwas gibt es nur Klicks gehen.
Ihre onFocusChanged () - Methode nicht aufgerufen werden, da der Fokus nicht "verloren".
Wenn Sie eine überprüfung Ihres Go button_click-Methode, löst Sie natürlich, aber Sie werden nicht Ihr Ziel erreichen "ich war auf der Suche/Hoffnung auf eine Möglichkeit zu geben, die instant feedback"
Können Sie versuchen, mit TextWatcher.
InformationsquelleAutor Tivie