miyabihitoの日記

個人的な技術メモ

ListViewとListActivity

ListView
リスト表示を行うウィジェット
表示するデータは、各種アダプターオブジェクトにセットし、
それを、ListViewにセットする。
*AdapterViewのサブクラス群の一つ、他にSpinnerやGalleryがある。
メソッド
setAdapter:アダプターのセット
setOnItemClickListener(AdapterView.OnItemClickListener):リストアイテムのクリック時のリスナーオブジェクトのセット
*AdapterView.OnItemClickListenerの実装クラスでは、onItemClickメソッドを実装する。

ListActivity
ListViewオブジェクトを内包したActivity
デフォルトで、ListViewがセットされているので、レイアウトファイルを用意する必要もない。
メソッド
setListAdapter:アダプターのセット
getListView:内包しているListViewへの参照を返す。
onListItemClick:リストのアイテムが選択された時に呼ばれる。

*自作レイアウトを適用するには。。。
android:id="@+id/android:list"のListViewが必須
オプションで任意のid="android:empty"を持つビューを、リストのデータがない時に表示させる事ができる。


ArrayAdapter
コンストラクタ
ArrayAdapter(コンテキスト、レイアウトファイル、表示するデータ)
表示するデータは、リソースファイルに記述するべき。
配列のリソースファイルを使う方法は二通りある。
1.createFromResourceメソッドでリソースIDを直接してい。
2.リソースファイルから配列を生成し、コンストラクタで指定。

SimpleAdapter
Mapを使ってアダプターを拡張せずに、レイアウトをカスタマイズできる。

!!リストアイテムの個々のビューをカスタマイズする方法
アダプタークラスを拡張し、getViewメソッドをオーバーライドする。
getViewメソッドの戻り値のViewオブジェクトがリストの個々のアイテムとなる。
1.BaseAdapterを拡張する。
2.ArrayAdapterを拡張する。