关于在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));
                            }

                        }
                    });

完美解决问题

上一篇下一篇

猜你喜欢

热点阅读