2010-11-30 11 views
3

ListViewを構成するさまざまな部分に問題があります。私はそれらをArrayListに入れ、カスタムArrayAdapterを使用してListViewに接続します。これは前に行っていたので、そこに問題があるとは思われません。当初リストは正しい順序で部分を持っているようですが、リストを下にスクロールすると、内容が正しく読み込まれません。私はその後、スクロールし、すべてが混乱しています。誰もこれに前に遭遇しましたか?ListViewの内容がスクロールでスクランブルされました

おかげ -Jake

+1

はあなたのアダプタのGetViewメソッドをオーバーライドしています参照してください?そうなら、あなたがしていることを示してください。 –

+0

ジェイク、私は同じ問題を抱えていました。私はここで解決策を見つけました:http://stackoverflow.com/questions/2955218/listview-in-arrayadapter-order-gets-mixed-up-when-scrolling?rq=1 – Reiksiel

答えて

5

はい、あなたの問題は、リストの行ごとにビューを再利用しているという事実に関連しています。つまり、あなたのリストには5つの項目が表示されますが、ListAdapterには15の項目があります。 Androidでは、15個ではなく、5個の行ビューのインスタンスが作成されます。リストの各行に1つずつ、上半分と下半分の半分が表示される場合に1つのインスタンスが作成されます。行が可視領域外に移動されると、リストは新しいインスタンスを作成するのではなく、別の行のビューインスタンスをリサイクルします。他の行からの成果物が表示されるたびに、すべてのユーザーインターフェイスコンポーネントを適切にリセットしないと、アレイリスト内のオブジェクトのデータを毎回すべてのフィールドを設定したビューにバインドするたびに必ず確認する必要があります。こののより良い説明について

http://www.youtube.com/watch?v=N6YdwzAvwOA&feature=related

+0

恐ろしい。私はリサイクルしていることに気付きましたが、フィールドをリセットしていないので、以前と同じことが表示されていました。ありがとう。 – jakehschwartz

関連する問題