在复用但是不设置EditText的TextWatcher监听的情况下倒是能保证在滑动的时候刚刚编辑的内容不会错乱。
在设置EditText的TextWatcher监听但是不复用的情况下,在监听里面保存下更改后的数据也能保证不会出现数据被重置或错乱的情况。
但是当两者结合使用的时候,因为item是复用的,所以每次滑动当有新的item出现时就会借用刚消失的那一条item的对象,比如我屏幕一次最多只能显示10条,当我滑动的时候第11条出现,第一条消失,第11条复用第1条对象,但是两者EditText中要显示的值不一样,在渲染的时候直接触发了TextWatcher事件,第1条的数据被改成了第11条的数据,依此循环,导致最终所有的EditText中的内容全部错乱。
我能想到的大致原因应该就是这个,还没想出能有什么方法解决这个问题。