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

前言

这个问题是做项目的时候发现的,由于表单内容不确定,需要从后台动态获取,所以我使用了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 过程中遇到的细碎问题和解决方案。 简单使用 LinearLayoutMan...
    三流之路阅读 3,950评论 0 5
  • 一 引言 之前这里发布过一个RecyclerView中解决EditText各类异常的方案,存在BUG,为了方便后来...
    kaxi4it阅读 11,655评论 11 38
  • 详情页面 packagecom.example.shoppingcar; importandroid.conten...
    ForCrazyLove阅读 583评论 0 2
  • Tangram是阿里出品、用于快速实现组合布局的框架模型,在手机天猫Android&iOS版 内广泛使用 该框架提...
    wintersweett阅读 3,338评论 0 1
  • 你看过千与千寻嘛?看过几遍? 小时候看《千与千寻》,以为就是一个小女孩跟随父母来到乡下,误入了一个怪物的世界,...
    雅雅要低调阅读 203评论 0 1