モケラ

Tech Sheets

mokelab

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と呼ばれるクラスが担当します。

図で表すと、次のようなやりとりが何度も行われます。

  1. ListViewが、セットされているAdapterのgetView(位置)を呼び、指定した位置のView生成を依頼する。
  2. Adapterは、getView()が呼ばれると、指定した位置のViewを生成しreturnする。

Android SDKにはよく使うAdapterがあらかじめ用意されています。まずは単純な文字列のリストを表示してみましょう。

一覧に戻る