J'ai un scénario où je n'autorise qu'un seul caractère dans edittext. donc dans OnTextChanged J'ai vérifié si une lettre est entrée, puis je passe la mise au point suivante edittextOnTextChanged n'est pas appelé lorsque la longueur d'edittext est pleine
<EditText
android:id="@+id/etpinPassword1"
style="@style/Edittext_with_weight"
android:imeOptions="actionNext"
android:inputType="number"
android:maxLength="1" />
et voici mon est textWatcher code:
OnTextChanged: ->
if (isValueEntered(charSequence)) {
etpinPassword2.requestFocus();
etpinPassword2.setEnabled(true);
appendPassword(charSequence);
}
private boolean isValueEntered(CharSequence charSequence) {
return charSequence.length() > 0;
}
Tout fonctionne bien, sauf quand je reviens à un edittext déjà rempli, onTextChanged n'est jamais appelé. Je veux l'appeler de nouveau afin que je puisse passer le focus au prochain edittext si le premier est déjà plein.
vous supprimez le texte lors de votre deuxième visite à edittext rempli? –
Comment allez-vous revenir à l'EditText rempli? Vérifiez qu'il récupère le focus. Aussi la méthode ne sera pas appelée si vous ne changez pas le texte –
mettez votre opération dans l'écouteur après le texte modifié. –