这篇文章是关于安卓的。以下是正在发生的事情:
我正在加载 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 的信号已经升级。