リストビュー (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 を追加します。