リスト表示のヘッダー、フッターに何かを挿入したい場合。
TextView textView = new TextView(getActivity());
textView.setText("This is Header");
getListView().addHeaderView(textView, null, false);
アダプターの追加
setListAdapter(adapter);
みたいに、
setListAdapter() する前に addHeaderView() してあげる必要がある。
しかし、ここで注意点。
このままだと、他画面に移って、また上記の画面に戻った場合、エラーで落ちる。
理由は、既にsetListAdapter() されてるから addHeaderView() できません。
つまり、アダプターが破棄されずに残っている。
これを回避するには、
@Override
public void onDestroyView() {
super.onDestroyView();
setListAdapter(null);
}
このように、onDestroyView() にて、アダプターをnull してやる。
なお、アウトオブメモリー対策にもなる模様。
0 件のコメント:
コメントを投稿