后端数据更改时刷新ArrayAdapter,但项目值没有

时间:2015-04-30 18:00:16

标签: android android-arrayadapter picasso

我正在使用ArrayAdapterListView来显示一些图像(我使用Picasso来帮助处理图像)。最初从本地设备上的状态加载图像。适配器具有ids用于映像,适配器的getView()方法用于获取路径。如果图像在本地不可用,则本地状态返回图像的URL。如果URL已过期,我需要从后端获取此内容。

如果网址没有过期,我没有任何问题,因为我可以直接提供毕加索的路径或URL,而毕加索将为我处理一切。但是,当我需要从后端获取URL时,我需要异步执行此操作。获取URL后,我尝试执行以下操作,但它似乎无法正常工作(我的getView()在这种情况下会使用Picasso和URL):

        adapter.remove(id);
        adapter.add(id);

notifyDataSetChanged()似乎也做不了多少。

处理这种情况的最佳方法是什么?除了我试图用适配器做什么之外还有其他方法吗?我想尽可能地延迟从后端获取URL,基本上直到用户需要查看图像。

更新:目前,我在网址过期时将id替换为temp_id,然后在我拥有有效网址时再次添加正确的id,以便视图得到刷新。

1 个答案:

答案 0 :(得分:0)

您是否尝试使用myArray.clear()清除图像网址的ArrayList?如果我得到你的问题或你的代码是什么样的,那就不太确定了。

但我之前有这样的问题。对我有用的是完全重新填充适配器。

link应该会有所帮助。