AndroidのListViewの仕組み
最終更新日:2015-08-15
AndroidのListViewは、アプリ開発初心者の最初の壁となるものです。ここでは理解を助けるため、仕組みを簡単に紹介します。
ListViewとAdapter
ListViewは文字通り、Viewの仲間です。なのでTextViewやButtonのようにレイアウト中に配置することができます。
<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
このListViewですが、単体ではリスト表示できません。なぜなら、リスト1行分のレイアウトをこの段階ではListViewは知らないからです。この1行分のレイアウト生成は、Adapterと呼ばれるクラスが担当します。
図で表すと、次のようなやりとりが何度も行われます。
- ListViewが、セットされているAdapterのgetView(位置)を呼び、指定した位置のView生成を依頼する。
- Adapterは、getView()が呼ばれると、指定した位置のViewを生成しreturnする。
Android SDKにはよく使うAdapterがあらかじめ用意されています。まずは単純な文字列のリストを表示してみましょう。