1

リストの以前の実装は、アイテムで満たされた ScrollView 内の単純な LinearLayout でした。

CursorAdapter を単純に使用するために、ListView の Android 実装に切り替えました。すべてが機能しますが、私を夢中にさせる問題が 1 つあります。

私のアイテムは、いくつかの TextViews と 1 つの ImageView で構成されています。インターネットまたはローカルの ImageCache からイメージを読み込みます。しかし、ImageCache を使用しても、スクロール中に画像が非同期に読み込まれていることがわかります。画像は最初に途中までポップアップします。

問題は、ListView のリサイクル メカニズムが高速に動作することです。リストビューでリスト項目を 200 dp 以上離れた場所に作成してもらいたいです。アイテムが表示されるまで完全にロードされていることを確認するための単純なプリロード メカニズムです。しかし、このバッファを ListView のどこにどのように追加できるか、手がかりが見つかりませんでした。

誰もが同様の実装を知っていますか? ドキュメントで何かを見落としていませんか?

しかし、この種のバッファの Google 実装はないと確信しています。People アプリを見てください。事前読み込みなし...

それが現在のリサイクル業者の仕組みです

現在の仕組み

4

1 に答える 1

1

期待できる最善の方法は、サブクラスのgetView()呼び出しと要求された位置に基づいて、独自の「先読み」インデックスを計算することです。CursorAdapter明らかに一度getView()呼び出されると、Android はその位置のアイテムを表示しようとします。あるなら描いてください。そうでない場合は、それをキューに入れて引き込み、次の N 個のアイテムをキュー入れ始めます。ただし、先読みが必要な深さです。

于 2012-12-04T02:19:52.410 に答える