1

Android の Gridview に問題があります。

コンテキスト:ダウンロードされた画像のリスト(約100枚の画像)を含むグリッドビューがあります。

ユーザーにとってより便利にするために、最初のグリッドビューがロードされ、100 個の画像の中にロゴがロードされます。その後、AsyncTask を開始します。 onProgressUpdate で => gridview.getChildAt でイメージを更新します onPostExecute で => ダウンロードしたビットマップのリストで gridview のアダプターを変更します

私の問題は onProgressUpdate にあります。getChildAt(position) を使用すると、position は表示されている rect 内のアイテムの位置を意味することに気付きました。したがって、2 つの問題があります: => 第一に、非表示の画像が更新されない (これが、PostExecute で setAdapter を実行している理由です) => 第二に、ダウンロード中にスクロールすると、最初の画像が忘れられ、スクロール中にその他の問題が発生します。でも言葉で表現するのは難しい...

私の質問は少し簡単ですが、Android リファレンスでは見つけられませんでした。また、Google で検索した後も見つかりませんでした。

どうもありがとう

4

1 に答える 1

1

表示されていないビューは存在しないため、更新できません。ユーザーが特定のアイテムまでスクロールした場合にのみ、バッキング モデルを更新して正しい情報を取得できます。そのため、画像を取得して、特定のビューをレンダリングするときにアクセスできるキャッシュ (またはモデル自体) に保存する必要があります。

ただし、ユーザーがまだ表示していない画像を取得する必要はないことをお勧めします。

于 2011-06-05T13:34:26.483 に答える