2011-10-25 9 views
0

私はListViewを持っています。これは、インデックスに応じてさまざまなビューを作成しています。これは、getViewメソッドをオーバーライドすることによって問題なく動作しますが、これを達成する最善の方法であると思っていますか?私が尋ねる主な理由は、私が設定した背景が間違っているなど、いくつかのビューをスクロールしたように見えるときです。ArrayAdapterのgetViewメソッドは、ListViewでカスタムビューを挿入する最適な方法ですか?

誰かがconvertViewが何であるかを正確に説明し、それを実装する正しい方法を説明できれば助けになるかもしれません。なぜ私の意見が間違った背景になっているのかという理由は、私がconvertViewを使用していて正しくないことが原因であると懸念しているからです。

+1

私は[どのようにリストの動作](http://stackoverflow.com/questions/7738527/getting-an-issue-while-checking-the-dynamically-generated-checkboxthroughthrough-list/7739006)で私の答えをお勧めします#7739006)。たぶんこれはリストとアダプタをよりよく理解するのに役立ちます... – Knickedi

答えて

1

convertViewについては、thisコモンズウェアの書籍の一部が役立つかもしれません(ジャンプしたい場合は107ページ)。

+0

リンクのおかげで、Commonswareの本はListViewの動作とgetViewの使用方法を説明するのに非常に役立ちました。私は問題を修正しました。ありがとうございます。 – Bobbake4

2

ビューをリサイクルするときは、現在扱っているconvertView(convertView != null)が既に特定の状態にあることを認識する必要があります(たとえば、別の要素の背景があるなど)。したがって、ビューのすべての部分を適切に設定し、デフォルト値がないことを確認する必要があります。

このように考えると、下にスクロールすると、トップビューは表示されなくなり、新しいビューが最下部に表示されるように再利用されます。このビューで何も変更しないと、これまでと同じです。

+0

これは非常に役に立ちました – Bobbake4

関連する問題