[JAVA] [Android] Limite supérieure de l'alphabet et limite de longueur dans EditText

Limite supérieure de l'alphabet dans EditText

EditText, utilisé comme zone de saisie dans les applications Android Je veux limiter l'entrée aux seuls alphabets supérieurs! Pour iOS, reportez-vous à [iOS] Alphabet limite supérieure et limite de longueur dans UITextField.

environnement

Hôte: Windows 10 Android Studio: 3.3.2 Java

Lors de la définition des attributs

Ouvrez la mise en page, sélectionnez le UITextField souhaité et ouvrez les attributs: chiffres dans le volet droit pour les modifier. image.png

android:digits="ABCDEFGHIJKLMNOPQRSTUVWXYZ"

Lors de l'application conjointe d'autres contraintes

Préparation du filtre

MyActivity.java


    //Filtre alphabet
    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 "";
            }
        }
    };

Paramètres de filtre pour EditText

  1. Implémenté dans la fonction onCreate, etc.

MyActivity.java


    InputFilter myFilters[] = {alphabetFilter, new InputFilter.LengthFilter(5)}; //Majuscule + filtre alphabet + filtre de longueur

    EditText targetEditText = findViewById(R.id.edittext_target);
    targetEditText.setFilters(myFilters);

Test réel de la machine

Vous ne pouvez pas saisir de chiffres avec le clavier, la longueur est limitée, Assurez-vous que si vous entrez des lettres minuscules, elles seront automatiquement converties en majuscules.

Je vous remercie pour votre travail acharné!

Recommended Posts

[Android] Limite supérieure de l'alphabet et limite de longueur dans EditText
De Java à C et de C à Java dans Android Studio
Représente le «jour suivant» et le «jour précédent» en Java / Android
[Android / Java] Transition d'écran et traitement de retour par fragments
Traitement asynchrone et intégration d'API Web dans Android Studio