美文网首页面试题
RecyclerView的条目为EditText时,数据混乱的解

RecyclerView的条目为EditText时,数据混乱的解

作者: 李晓通 | 来源:发表于2019-08-26 10:09 被阅读0次

前言

这个问题是做项目的时候发现的,由于表单内容不确定,需要从后台动态获取,所以我使用了RecyclerView+EditText,结果运行的时候发现会有数据错乱,现在问题已经解决了,就记录一下,如果能帮到更多的人当然是再好不过了!

解决方案

1.在Adapter中添加一个Map用来存放EditText的值

 val mMap = mutableMapOf<Int, String>()

2.给EditText设置一个Tag,Tag为position

 editText.tag = position

3.给EditText设置一个文本改变监听

        editText.addTextChangedListener(object : TextWatcher() {
            //...  省略两个方法
            override fun afterTextChanged(s: Editable?) {
                if (editText.tag == position && editText.hasFocus()) {
                    mMap[position] = s.toString()
                }
            }
        })

4.给EditText设置值

 editText.setText(mMap[position])

相关文章

网友评论

    本文标题:RecyclerView的条目为EditText时,数据混乱的解

    本文链接:https://www.haomeiwen.com/subject/nitrectx.html