4

各行に大きな写真を表示するリスト アダプターがあります。ListAdapter.getView() メソッドのスレッドでディスクからビットマップを取得しています。これは問題なく動作しますが、ユーザーがスクロールしているときに、新しい行の上部が空の ImageView で画面に表示されるのが少し面倒です。ディスクからビットマップを読み取るスレッドはすぐに完了し、再描画が行われます。

ListAdapter の世界に、「次の」行が一時的に画面に表示される危険があることを知らせる良いパターンはありますか? 理想的には、スレッドを開始して、この非表示の行のビットマップをロードし、ビットマップを memcache に取得したいと考えています。これにより、ユーザーがこのセルにスクロールした場合、ビットマップは既にロードされます。

(1) ユーザーが下にスクロールしていること、(2) 次の非表示行の上端が約 20 ピクセル、または表示されていない値であることを知る必要があると思います。

ありがとう

4

1 に答える 1

2

登録AbsListView.OnScrollListener; リストのスクロール状態が通知され、現在表示されているアイテムも通知されます。これらの2つのパラメータを組み合わせると、「次の」ビットマップをロードする必要があるかどうかを簡単に判断できるはずです。

于 2012-05-08T19:08:56.433 に答える