0

这篇文章是关于安卓的。以下是正在发生的事情:

我正在加载 JSON 并将其放入 ListView。现在,这个 ListView 中的一个项目基本上是一个 ImageView 和一个 TextView。

因为 ImageView 的图像最大可以达到 2MB 大,所以我想在加载 ListView 后加载 ImageView 的 Drawable 异步(也做了异步)。

我该怎么做?我已经创建了 2 个 AsyncTask,一个用于加载列表,另一个用于加载基于 URL 的 Drawable。两者都有效,但我不知道如何通知 ListView Drawable 已更新。

目前,当我向下滚动并且项目消失时,Drawable 会显示。然后我向后滚动,我看到图像已更新。我认为这是因为我在 getView (ArrayAdapter) 中“设置”了图像,并且当一个项目进入视图时会调用这个 get。

所有数据都存储在 BlablaItem 的 ArrayList 中。假设 BlablaItem 包含“String title”、“String imageUrl”和“Drawable image”。完美的是只在类中更新这个 Drawable 并且 ListView 也会自动更新它......

所以我的问题是如何很好地完成这一切,在哪里为 Drawable 创建我的 AsyncTask(当前在处理 JSON 的循环中),在哪里创建我的 AsyncTask(当前在 ArrayAdapter 构造函数中)以及如何向 ListView 发出 Drawable 的信号已经升级。

4

1 回答 1

0

如果 listadpater 持有这个 blablaItems 的 ArrayList,那么在添加新的可绘制对象后,在适配器上调用 notifyDatasetChanged 就足够了。

于 2013-10-02T14:14:03.527 回答