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