Android RecyclerView里有多个EditText输入框导致数据错乱

Android RecyclerView里有多个EditText输入框导致数据错乱,第1张

Android RecyclerView里有多个EditText输入框导致数据错乱

RecyclerView包含输入框的时候,添加删除 *** 作会导致数据错乱。记一下。在RecyclerView.Adapter做处理
先移除掉TextWatcher

if (((MyViewHolder) viewHolder).et_url.getTag() instanceof TextWatcher) {
    ((MyViewHolder) viewHolder).et_url.removeTextChangedListener(
            (TextWatcher) ((MyViewHolder) viewHolder).et_url.getTag());
}


//再设置EditTex的值

((MyViewHolder) viewHolder).et_url.setText(item.getUrl());
TextWatcher urltextWatcher = 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 (editable != null && !TextUtils.isEmpty(editable.toString())) {
            String url = editable.toString();
            item.setUrl(url);
        }
    }
};


//添加TextWatcher 设置tag

((MyViewHolder) viewHolder).et_url.addTextChangedListener(urltextWatcher);
((MyViewHolder) viewHolder).et_url.setTag(urltextWatcher);

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5606494.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存