ListViewには、ヘッダー/フッターを追加することが出来る。
設定方法
ヘッダーの追加方法は以下の通り[ListView::addHeaderView()](https://developer.android.com/reference/android/widget/ListView.html#addHeaderView(android.view.View, java.lang.Object, boolean))を利用する。
第3引数は選択可否フラグ。以下例では選択不可にしている。
list = (ListView)findViewById(R.id.list_view);
View header = View.inflate(this, R.layout.header_list, null);
list.addHeaderView(header, null, false);
注意点
選択処理の実装において、OnItemClickListener::onItemClick()を利用するが、
position = 0がAdapterの先頭ではなくヘッダーとなる点に注意が必要。
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
// headerがposition = 0となるため、adapterから取得するindexを調整する必要がある
if(position <= 0) {
return;
}
XXXObject object = adapter.getItem(position - 1);
if(object == null) {
return;
}
// TODO:
}
});