【发布时间】:2021-12-27 00:38:54
【问题描述】:
(图 1 和图 2)
(图 3)
我目前使用的是Epoxy library,而不是RecyclerView。
但是,由于Epoxy是在RecyclerView的基础上构建的,所以我们就叫它RecyclerView吧。
问题 1。 (图 1 和图 2)
当我在
RecyclerView item的EditText中输入值后返回另一个屏幕时,输入的数据会随机移动。
问题 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