2012-05-08 3 views
4

私は、各行に大きな写真を表示するリストアダプターを持っています。私はListAdapter.getView()メソッドのスレッドでディスクからビットマップを取得しています。これはうまくいきますが、ユーザーがスクロールしているときに空のImageViewを使って新しい行の一番上が画面に表示されるのが少し面倒です。ディスクからビットマップを読み取るためのスレッドはかなり速く完了してから、再描画が行われます。ListAdapter - 次の行が画面に表示されますか? (ビットマッププリロード用)

「次の」行が一時的に画面に表示される危険性があることを通知するためのパターンがListAdapterの世界にありますか?理想的には、私はこの不可視の行のビットマップをロードし、私のmemcacheにビットマップを取得するスレッドを開始したいと思います。ユーザーがこのセルにスクロールすると、ビットマップは既に読み込まれます。

私は、(1)ユーザーが下にスクロールしていて、(2)次の見えない行の上端が約20ピクセルまたは何か離れて見えることを知っておく必要があると思います。

おかげ

答えて

2

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

+0

これは私の思う通りの情報をスクロールするものではありませんが、現在表示されているバッチのいずれかの側に、前後の非表示アイテムを読み込むことができます。リストのスクロール方法を確認できる方向は – user291701

+0

です。もしそれが最後の飛行方向を覚えているだけで、それがキー(例えば - dpad_down)であれば、もっと簡単です... – avimak

関連する問題