android - Recyclerview - 更新 View 持有者中的 View 而不修改其所有 View 的最佳实践

标签 android android-recyclerview

我有一个提要列表,用户可以喜欢/不喜欢、播放视频并查看该提要的描述。我实现类似功能的方式是,当按下“like”时,会进行 api 调用,并在成功响应时修改该 Feed 对象并调用 notifyItemChanged()。但这里的问题是,再次调用 onBindViewHolder() ,这会重新初始化视频。在不使用 Feeds 对象中任何附加状态变量的情况下,我应该如何解决这个问题。我必须更新喜欢/不喜欢的 View 、喜欢的数量、使用react的人和评论的数量,但不想重新初始化视频和其他一些 View 。

enter image description here

最佳答案

是的,通知总是会重新绑定(bind)您的持有者。要更新特定内容而不完全重新创建,您应该使用有效负载 - https://medium.com/livefront/recyclerview-trick-selectively-bind-viewholders-with-payloads-4b28e3d2cce8

关于android - Recyclerview - 更新 View 持有者中的 View 而不修改其所有 View 的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66981144/

相关文章:

android - AppBarLayout 不会完全折叠并且仅部分展开直到滚动到达顶部

android - 将字符串数组传递给 Robotium 类

当使用 <include> 标签包含直接子元素的布局时,Android View 绑定(bind)问题

Android - RecyclerView 列表项和父项之间的间距相等

android - Kotlin、泛型和可能没有参数的函数

android - 如何使用 json 将 GPS 坐标从 android 发布到数据库

android - 如何在 Android 上创建半可拖动的回收 View ?

android - Xamarin 安卓 :Load Image from Localpath On RecyclerView

android - setFocusable 按钮点击

java - Android RecyclerView CountDownTimer 删除并插入新项目后出现问题