我想用加载器加载一个 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);
}