在 ListView/RecyclerView Item 中 使用EditText CheckBox 控件时 滚动列表时 EditText 值错乱 CheckBox checked 值同样错乱,原因在于复用Item时 设置控件value时 触发了old Item 监听器回调,回调中改变了控件value
错误用法
1 | checkBox.setChecked(model.isChecked); |
正确用法
1 | checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { |
结论
先设Item 监听器,Item复用时,监听器是new 的