EditText, wird als Eingabefeld in Android-Apps verwendet Ich möchte die Eingabe nur auf obere Alphabete beschränken! Informationen zu iOS finden Sie unter [iOS] Alphabetobergrenze und Längenbeschränkung in UITextField.
Host: Windows 10 Android Studio: 3.3.2 Java
Öffnen Sie das Layout, wählen Sie das gewünschte UITextField aus und öffnen Sie die Attribute: Ziffern im rechten Bereich zur Bearbeitung.
android:digits="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
Filtervorbereitung
MyActivity.java
//Alphabet Filter
private InputFilter alphabetFilter = new InputFilter() {
@Override
public CharSequence filter(CharSequence source, int start, int end,
Spanned dest, int dstart, int dend) {
if (source.toString().matches("^[a-zA-Z]+$")) {
return source.toString().toUpperCase(Locale.ROOT);
} else {
return "";
}
}
};
MyActivity.java
InputFilter myFilters[] = {alphabetFilter, new InputFilter.LengthFilter(5)}; //Großbuchstaben + Alphabetfilter + Längenfilter
EditText targetEditText = findViewById(R.id.edittext_target);
targetEditText.setFilters(myFilters);
Sie können keine Zahlen mit der Tastatur eingeben, die Länge ist begrenzt, Stellen Sie sicher, dass bei der Eingabe von Kleinbuchstaben diese automatisch in Großbuchstaben umgewandelt werden.
Danke für deine harte Arbeit!
Recommended Posts