drakeet / MultiType

Flexible multiple types for Android RecyclerView.
Apache License 2.0
5.76k stars 751 forks source link

关于 ItemView 复用回收 #270

Closed anfeierde closed 5 years ago

anfeierde commented 5 years ago

Drakeet 你好,请问一下,我在 onBindViewHolder 中设置了 ViewHolder 的 setIsRecyclable 为 false,但是当 RecyclerView 回滚滑动时依然会调用 onBindViewHolder 方法,导致数据丢失。

我的使用场景是,在 RecyclerView 中使用了 EditText ,并且监听 TextWatcher 修改 Item 的值,但是一旦滚动 EditText 中的值就会丢失。

yushilong commented 5 years ago

同问

cv0cv0 commented 5 years ago

可以使用 Livedata。

chet-chen commented 5 years ago

setIsRecyclable 为 false 只能让 ViewHolder 不被回收,滚出屏幕的 ViewHolder 还是会释放的。

drakeet commented 5 years ago

这不属于 MultiType 的问题或范畴,也就是说,如果你使用原生 RecyclerView Adapter 的话表现也是一样的,关于 setIsRecyclable 的用法,在此不作解释,请见其官方文档。因此这个 issue 即将被关闭。

yushilong commented 5 years ago

这不属于 MultiType 的问题或范畴,也就是说,如果你使用原生 RecyclerView Adapter 的话表现也是一样的,关于 setIsRecyclable 的用法,在此不作解释,请见其官方文档。因此这个 issue 即将被关闭。

好的,可能我对这个setIsRecyclable的理解不够,我再去补习补习