更改适配器中项目的视图



我有一个市场的产品适配器。我用从服务器收到的所有产品设置了这个适配器。我还打电话给服务器,以获取该用户最喜欢的产品,因为我想用可见的红心来显示它们,以将它们与其他产品区分开来。我面临以下两个问题:

  1. 如果我用所有产品设置适配器,然后通过迭代列表修改需要激活红心的项目,用户会注意到,即使只有1秒
  2. 有了最喜欢的产品列表,我该如何修改这些最喜欢产品的视图

我相信有一个简单的方法可以做到这一点。

谢谢

您需要在网络调用期间操作数据,以设置所有有或没有收藏夹的产品,一旦设置好,只需填充模型即可。它应该改变观点。

这意味着在设置适配器之前,进行所有需要疯狂的服务器调用并操作数据。

我的建议是更改服务器端代码,为每个产品添加一个布尔值无论它是否为用户喜爱的产品列表。这将使你的工作更加轻松,避免打两个网络电话。

修改服务器代码,添加一个布尔标志,指示特定产品是否受欢迎,然后用您拥有的数据填充视图(请在视图可见之前执行此操作,最好是在onBindViewHolder内部(。当视图可见时,您不应该试图操纵视图,除非用户自己故意触发操作。

相关内容

最新更新