J'ai un TextWatcher sur un EditText. Dans beforeTextChanged, je trouve que la valeur EditText a déjà été modifiée. Voici un petit bout de code:dans beforeTextChange, valeur déjà modifiée
@Override
public void beforeTextChanged (CharSequence s, int start, int lengthBefore, int lengthAfter)
{
// restoreValue = text.getText().toString();
String restoreValue = s.toString();
System.out.println ("restore |" + restoreValue + "|");
}
Dans cette fonction, la sortie de débogage montre une chaîne modifiée, et non la valeur d'origine du EditText. C'est la même chose si j'obtiens la valeur de "texte" (qui est le widget EditText) ou de "s".
Quelqu'un a une raison possible pour cela?
Un peu plus d'infos: quand je fais une opération de collage, beforeTextChanged est appelé deux fois. La première fois, cela montre qu'un espace est ajouté à la fin du segment sélectionné. La deuxième fois est la pâte réelle. La première fois - en insérant l'espace - c'est bizarre. J'ai besoin de l'ignorer, en quelque sorte ... –