モケラ

Tech Sheets

mokelab

ListViewで文字列データをリスト表示してみる

最終更新日:2015-08-15

まずは図のように曜日(文字列データ)をリスト表示してみましょう。

順に見ていきましょう。

レイアウトにListViewを配置する

idをつけてListViewを配置します。幅と高さはmatch_parentにしておきます。

<ListView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@android:id/list"
    >
</ListView>

ArrayAdapterオブジェクトを作る

単純な文字列データをリスト表示する場合は、ArrayAdapterを使うと便利です。onCreate()で次のようにします。

@Bind(android.R.id.list) ListView mListView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    // 中略
    ArrayAdapter<String> adapter = new ArrayAdapter<>(this,
            android.R.layout.simple_expandable_list_item_1);
    adapter.add("日曜日");
    adapter.add("月曜日");
    adapter.add("火曜日");
    adapter.add("水曜日");
    adapter.add("木曜日");
    adapter.add("金曜日");
    adapter.add("土曜日");
    mListView.setAdapter(adapter);
}

詳しく見ていきましょう。

ArrayAdapter<String> adapter = new ArrayAdapter<>(this,
        android.R.layout.simple_list_item_1);

ArrayAdapterのコンストラクタの第1引数はContextを渡します。第2引数は1行分のレイアウトをR.layout.xxxx形式で指定します。1行の単純なデータを表示したいときはandroid.R.layout.simple_list_item_1を指定します。

adapter.add("日曜日");

作成したArrayAdapterオブジェクトにデータを追加します。型をArrayAdapter<String>にしたので、ここでは文字列をaddします。

Adapterオブジェクトがデータを保持しているイメージは、できたでしょうか?

一覧に戻る