关于在adapter 的item中addTextChangedL
2019-11-15 本文已影响0人
周蛋蛋
在每个item中都有输入,,但是发现输入刷新以后,发现所有的EditText数据发生变化,所有的数据都是最后输入的值,debug以后,发现监听明显执行了,
图片.png 图片.png
这是原来的写法,网上看到有人说写在 etOnFocusChangeListener();为 true的情况下,刚才试了一下,没作用
所以,就可以用tag 的写法,给Edittext绑定tag,
holder.mContentEd.setTag(position);
holder.mContentEd.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void afterTextChanged(Editable editable) {
if ((Integer)holder.mContentEd.getTag() == position) {//设置tag解决错乱问题
EventBus.getDefault().post(new MessageEventContent(editable.toString(), position));
}
}
});
完美解决问题