リストビュー (ListView)

リストビュー (ListView) は、名前の通り項目をリストとして並べるレイアウトです。

リソースの定義

リソースを定義する xml ファイル (main.xml等) に以下のように記述します。

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <ListView
        android:id="@+id/listView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

</LinearLayout>

リソースには、リストでレイアウトするための ListView クラスを定義し、リストビューに表示する各項目は、ソースファイルで定義します。

ソースコードの定義

ソースコードでは、リストビューに表示する項目を設定します。

import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class ListViewSampleActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        // リストビューに表示するためのデータを設定
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(
            this, android.R.layout.simple_list_item_1);
        adapter.add("listview item 1");
        adapter.add("listview item 2");
        adapter.add("listview item 3");

        // リストビューにデータを設定
        ListView listView1 = (ListView)findViewById(R.id.listView1);
        listView1.setAdapter(adapter);
    }
}

※ 「listview item x」の文字列は、本来 string.xml に定義すべきですが、説明を簡単にするために直接記述しています。

ListView の中に表示するアイテムためには、Adapter クラスを使用します。
ここで指定している android.R.layout.simple_list_item_1 は、アンドロイドで用意されているレイアウトで、単純に文字列を表示するためのレイアウトです。

次に、ListView にアイテムを表示するために渡す Adapter オブジェクトを生成し、アイテムを追加していきます。今回は文字列を表示するので、単純に文字列を追加していきます。
そしてListViewオブジェクトの setAdapter メソッドを使用して、ListView に Adapter を追加します。

リストビュー (ListView) 関連の記事

 ⇒ リストビュー (ListView) のアイテム選択イベント
 ⇒ リストビュー (ListView) の選択モード