Android Recyclerview-更新viewholder中的视图而不修改其所有视图的最佳实践

Android Recyclerview-更新viewholder中的视图而不修改其所有视图的最佳实践,android,android-recyclerview,Android,Android Recyclerview,我有一个用户喜欢/不喜欢的提要列表,可以播放视频并查看该提要的描述。我实现了like特性,当按下like时,会有一个api调用,在成功响应时,我修改Feed对象并调用notifyItemChanged()。但这里的问题是,onBindViewHolder()再次被调用,这将重新初始化视频。在不使用提要中的任何附加状态变量的情况下,如何解决此问题。我必须更新喜欢/不喜欢视图、喜欢计数、做出反应的人和评论计数,但不想重新初始化视频和其他一些视图 是的,通知始终重新绑定您的持有人。要在不完全重新创建的

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


是的,通知始终重新绑定您的持有人。要在不完全重新创建的情况下更新特定内容,您应该使用有效负载-

您是否尝试过notifyItemChanged(position)?您可以使用。notifyItemChanged(position)仍将调用onBindViewHolder()并使所有视图重新初始化我正在使用DiffUtils,当然,如果项目被更改,它将再次将视图绑定到更新的模型
onBindViewHolder
具有带负载的变量。您可以使用此变量更新数据。带diffUtils的负载: