I have the list of travelers with custom adapter what consist two EditText - edtFirstName and edtLastName. I want when user enters text save changes to List, and when next butto
The issue happens because views are reusable (that is by design in Android API). So eventually you may assign more than 1 text watcher to the same text view. And all of the assigned watchers are fired when text inside of the text view is changed.
A quick fix (and non-optimal if the list is really long, say, of 1000+ items) would be to have a map of Traweller -> TextWatcher
.
Then inside of getView() you can do this (pseudo-code):
TextWatcher
for this Traweller
TextWatcher
, put in the map and assign to EditText
TextWatcher
from the EditText
and remove from the mapTextWatcher
, put in the map and assign to EditText