1

フラグメント内に非同期の画像をロードする ListView を実装しようとしています。
この目的のために、 Fedor の LazyListコードを使用しました。
コードは機能しますが、ロードされた画像は、表示領域から「スクロールアウト」して再度「スクロールイン」するまで表示されません。つまり、画像がロードされた後にリスト項目で「getView()」が再度呼び出された場合にのみ、画像が更新されます。
その理由は、ロードされた画像に対して呼び出される「activity.runOnUiThread()」が、参照されたアクティビティ内のフラグメントの再描画をトリガーしないためだと思われます。
Fragment クラスにはそのようなメソッドはありません。
imageView で「postInvalidate()」を実行しようとしましたが、効果がありません。
これを機能させる方法は?

4

1 に答える 1

2

getView()メソッド内のsetTag()メソッドを間違えたと思います。

holder.imageView.setTag(loadURL);
imageLoader.DisplayImage(loadURL, activity, holder.imageView);

SetTag()とDisplayImage()はどちらも同じ画像URL値を持つ必要があります。

于 2011-06-03T12:50:44.740 に答える