Je lisais sur TextWatcher dans la programmation Android. Je ne pouvais pas comprendre la différence entre afterTextChanged()
et onTextChanged()
.
Bien que j'aie fait référence à Différences entre onTextChanged de TextWatcher, beforeTextChanged et afterTextChanged , je ne suis toujours pas en mesure de penser à une situation où j'aurais besoin d'utiliser la fonction onTextChanged()
et non afterTextChanged()
.
J'ai trouvé une explication à cela sur Android Dev Portal
http://developer.Android.com/reference/Android/text/TextWatcher.html
**abstract void afterTextChanged(Editable s)**
This method is called to notify you that, somewhere within s, the text has been changed.
**abstract void beforeTextChanged(CharSequence s, int start, int count, int after)**
This method is called to notify you that, within s, the count characters beginning at start are about to be replaced by new text with length after.
**abstract void onTextChanged(CharSequence s, int start, int before, int count)**
This method is called to notify you that, within s, the count characters beginning at start have just replaced old text that had length before.
Ainsi, les différences entre les deux sont:
afterTextChanged
tandis que onTextChanged
ne me permet pas de le faireJ'ajoute juste quelque chose à la réponse de Pratik Dasa et à la discussion avec @SimpleGuy dans les commentaires, car je n'ai pas assez de réputation pour commenter.
Les trois méthodes sont également déclenchées par EditText.setText("your string here")
. Cela ferait une longueur de 16 (dans ce cas), donc count
n'est pas toujours 1
.
Veuillez noter que la liste des paramètres n'est pas la même pour les trois méthodes:
abstract void afterTextChanged(Editable s)
abstract void beforeTextChanged(CharSequence s, int start, int count, int after)
abstract void onTextChanged(CharSequence s, int start, int before, int count)
Et c'est là que la différence est entre afterTextChanged
et onTextChanged
: les paramètres.
Veuillez également consulter la réponse acceptée dans ce fil: Android TextWatcher.afterTextChanged vs TextWatcher.onTextChanged