ローダーを使用してMergeAdapterをロードしたいと思います。onLoadFinihedコールバックでMergeAdapterにアダプターを追加しましたが、ListViewが空で表示されます。カスタムアダプタのgetviewメソッドが呼び出されていないことに気づきました。
同じカスタムアダプタを使用して同じコードを実行し、正常に機能しますが、ListViewにヘッダーを追加する必要があります。
MergeAdapterはローダーで動作しますか?
いくつかのコード:
アダプターを設定しました:
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
setEmptyText(getString(R.string.raceList_empty));
mAdapter = new MergeAdapter();
setListAdapter(mAdapter);
getLoaderManager().initLoader(0, null, this).forceLoad();
}
そしてonLoadFinihedで:
@Override
public void onLoadFinished(Loader<List<Race>> loader, List<Race> data) {
LayoutInflater inflater = (LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View headerView = inflater.inflate(R.layout.race_header_row, null);
mAdapter.addView(headerView, true);
RaceAdapter activeAdapter = new RaceAdapter(getActivity());
activeAdapter.setData(data);
mAdapter.addAdapter(activeAdapter);
}