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オブジェクトがデータを保持しているイメージは、できたでしょうか?