この投稿は Android に関するものです。何が起こっているかは次のとおりです。
JSON を読み込んで、これを ListView に入れています。さて、この ListView のアイテムは基本的に ImageView と TextView です。
ImageView のイメージは最大 2MB まで大きくなる可能性があるため、ListView をロードした後に ImageView の Drawable 非同期をロードしたいと考えています (非同期も実行)。
どうすればいいですか?1 つはリストをロードするため、もう 1 つは URL に基づいて Drawable をロードするためです。どちらも機能しますが、Drawable が更新されたことを ListView に通知する方法がわかりません。
現在、下にスクロールすると Drawable が表示され、アイテムが表示されなくなります。次にスクロールして戻ると、画像が更新されていることがわかります。これは、getView(ArrayAdapter)で画像を「設定」し、アイテムが表示されたときにこの get が呼び出されるためだと思います。
すべてのデータは、BlablaItem の ArrayList に格納されます。BlablaItem に "String title"、"String imageUrl"、および "Drawable image" が含まれているとします。クラスでこの Drawable を更新するだけで、ListView も自動的に更新するのが完璧です...
したがって、私の質問は、これらすべてを適切に行う方法、Drawable 用の AsyncTask を作成する場所 (現在は JSON を処理するループ内)、AsyncTask を作成する場所 (現在 ArrayAdapter コンストラクター内)、および Drawable であることを ListView に通知する方法です。更新されました。