0

カスタム アダプター (BaseAdapter の拡張) があります。リストの上部または下部にアイテムを追加または削除できます。アイテムの高さはさまざまで、他のアイテムよりもはるかに高いものもあります。

私が見ている動作は次のとおりです。

  1. リストの中央までスクロールします

  2. リストの先頭にアイテムが追加または削除され、notifyDataSetChanged() が呼び出されます。

Desired : データ セットの変更は画面外のアイテムにのみ影響するため、ユーザーにとっては何も変更されません。

Actual : リスト内のすべてのアイテムの位置がインクリメントまたはデクリメントされ、別のアイテムが古い位置に配置されるため、リストの画面上の部分がジャンプします。

アイテムが変更されたときに現在のビューを混乱させないようにするにはどうすればよいですか?

Adapter がデータの無限のリストをページングできるようにするのは合理的だと思いますが、実際にこの例を見つけることはできませんでした。この問題についてどう考えるのが正しいですか?

ありがとう!

4

1 に答える 1

0

Are you making use of the ViewHolder pattern? This will do exactly what you want (not refresh the UI due to changes "off screen").

Additionally, it will make your lists much smoother and responsive.

I think this is a clear example: http://www.jmanzano.es/blog/?p=166

于 2013-03-01T02:09:27.033 に答える