2016-07-08 11 views
0

私はrecyclerViewを使用して表示するリストを持っています。リストの各行には、リモートサーバーからダウンロードされたイメージが表示されます。リストの表示を高速化するために、私はバックグラウンドでイメージをダウンロードしています。 bind()がイメージを表示するたびに、イメージをダウンロードする非同期タスクを開始するメソッドを呼び出し、onPostExecute()メソッドで、ダウンロードしたビットマップを表示するイメージのsetImageBitmap()を呼び出します。私は画面に適合し、setImageBitmap()が呼び出されると、リストは、アップジャンプ、recyclerView負荷より多くの画像を下にスクロールするとRecyclerViewは、画像がバックグラウンドでダウンロードされた最後の項目を表示しません。

を次のように

問題があるように、最後の1つのまたは2アイテムリストにはほとんど表示されませんでした。

setImageBitmap()の呼び出しを無効にすると、最後の項目を表示しても問題ありません(リストは画像なし)、リストを上下にスクロールしても問題ありません。

非常に遅くスクロールすると問題が発生します。私は4つの項目だけを表示するように画面を制限し、6番目または7番目の項目にスクロールすると、項目2から5に突然表示がジャンプして再び表示されます。

何が起こっているのですかスムーズにスクロールしたり、飛び越えたりすることはありませんか?

+0

ピカソを試してみましたか? –

+0

番号私はそれを使用していません。私はそれが私を助けることができる方法を見つけるためにそれを調べます – Zvi

+0

ピカソは問題を解決しました。ありがとう@Pankaj Nimgade – Zvi

答えて

0

膨大になっているときのリサイクラービューにはサイズXがありますが、画像をロードするとサイズが変更されますが、LayoutManagerはこの変更を認識していないため、ビューが更新されません。

コードのスニペットを投稿してください。明確にするのに役立ちます。

+0

私はどのコードを投稿すべきですか?レイアウトのxml?行レイアウトの?アダプターコード?イメージの読み込み? – Zvi

関連する問題