J'ai mis en place une longueur maximale de texte dans un champ EditText.
<EditText
Android:id="@+id/courseDescriptionField"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:inputType="textMultiLine"
Android:lines="5"
Android:maxLength="@integer/max_course_description_limit"
Android:gravity="left|top" >
</EditText>
Le problème pour moi cependant, c’est que le texte STOPS apparaît après 140 caractères, mais il continue de taper, sauf que le texte n’apparaît pas, mais il apparaît dans le "tampon" (ce qui signifie suggestion) si c'est comme ça que vous l'appelez.
En guise de remarque, j'utilise un TextWatcher pour suivre la limite. Existe-t-il un moyen de limiter complètement la quantité de texte, de sorte que, lorsqu'il y a 140 caractères, rien ne se passe si vous appuyez sur autre chose que le retour arrière/la suppression?
Double possible de longueur maximale du texte de EditText sous Android
Utilisation Android:maxLength="140"
Cela devrait fonctionner. :)
J'espère que ça t'as aidé
J'ai eu le même problème.
Voici une solution de contournement
Android:inputType="textNoSuggestions|textVisiblePassword"
Android:maxLength="6"
Merci à Comment puis-je désactiver les suggestions dans EditText?
EditText editText= ....;
InputFilter[] fa= new InputFilter[1];
fa[0] = new InputFilter.LengthFilter(8);
editText.setFilters(fa);
J'ai eu le même problème. Cela fonctionne parfaitement bien lorsque vous ajoutez ceci:
Android:inputType="textFilter"
à votre EditText
.
Vous pouvez essayer ceci
EditText et = (EditText) findViewById(R.id.myeditText);
et.setFilters(new InputFilter[]{ new InputFilter.LengthFilter(140) }); // maximum length is 140
Si vous voulez voir une étiquette de compteur, vous pouvez utiliser app:counterEnabled
et Android:maxLength
, comme:
<Android.support.design.widget.TextInputLayout
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
app:counterEnabled="true">
<EditText
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:maxLength="420" />
</Android.support.design.widget.TextInputLayout>
NE PAS FAIRE set app:counterMaxLength
sur TextInputLayout
car il sera en conflit avec Android:maxLength
entraînant l'émission de caractères invisibles après que le texte a atteint la limite de taille.
Pour moi cette solution fonctionne:
edittext.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
Si vous avez utilisé maxLength = 6
, parfois, ce que vous entrez dans ces caractères est ajouté en haut du clavier, appelé suggestions. Ainsi, lorsque vous supprimez des lettres saisies à cette heure, les suggestions sont d'abord supprimées, puis le texte réel à l'intérieur de EditText
. Pour cela, vous devez supprimer les suggestions.
Android:inputType="textNoSuggestions"`
ou
Android:inputType="textFilter"
Cela supprimera ces suggestions.