【问题标题】:The problem that the data of RecyclerView changes randomlyRecyclerView的数据随机变化的问题
【发布时间】:2021-12-27 00:38:54
【问题描述】:

(图 1 和图 2)


(图 3)


我目前使用的是Epoxy library,而不是RecyclerView。 但是,由于Epoxy是在RecyclerView的基础上构建的,所以我们就叫它RecyclerView吧。

问题 1。 (图 1 和图 2)

当我在RecyclerView itemEditText 中输入值后返回另一个屏幕时,输入的数据会随机移动。

问题 2。 (图 3)

在添加足够的items 可以滚动后,我还将值输入到EditText 中。 如果我向下滚动并返回,数据将移动到一个随机位置。

请告诉我是什么原因,什么是正确的解决方案。

【问题讨论】:

  • RecyclerView 回收视图。如果您没有在键入时将 EditText 的文本备份到模型项数据并将其恢复到 onBindView,那么您只会看到上次回收时视图中的先前文本。我不使用 Epoxy,但这个问题似乎解决了如何在 Epoxy 中执行此操作:github.com/airbnb/epoxy/issues/426
  • 抱歉,我不确定 git 链接的内容与我的问题有什么关系
  • 这正是您想要做的。将 EditText 更改反馈到模型中,以便它们在滚动离开并返回时保持不变。开发人员对如何做的解释看起来很复杂。我不使用环氧树脂。当您的 RecyclerView 中有交互式小部件时,它可能不是一个好工具。通过浏览 Epoxy 文档,如果您有多种视图类型和数据绑定,它看起来会有所帮助,但否则会使事情比 ListAdapter 复杂得多。它确实早于 ListAdapter。此外,现在还有 ConcatAdapter 可以轻松组合列表类型。
  • 我的意思是,我不明白那个链接中的问题本身。这个问题的答案似乎与我想问的相似,但我不明白这个问题本身..

标签: android kotlin android-recyclerview epoxy


【解决方案1】:

确保您正确地覆盖了getItemViewTypegetItemIdgetItemCount

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多