2013-02-19 36 views
0

我想加載與加載器的MergeAdapter。我將適配器添加到onLoadFinhed回調上的MergeAdapter,但ListView顯示爲空。我注意到自定義適配器的getview方法未被調用。MergeAdapter與AsyncTaskLoader

我運行相同的自定義適配器相同的代碼和效果很好,但我需要添加標題到ListView。

MergeAdapter適用於裝載機?

一些代碼:

我將TE適配器:

@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); 
} 

回答

2

MergeAdapter與裝載機的作品?

不是說你正在做的方式。引用the current edition of the documentation's "Timing" section

在調用setListAdapter()將MergeAdapter與ListView關聯之前,必須將內容倒入MergeAdapter。此限制是必需的,因爲Android只調用一次getViewTypeCount(),添加更多視圖或適配器會添加更多視圖類型。

+0

我添加意見和適配器上的「onActivityCreated」方法,然後我設定爲「onLoadFinished」的數據。謝謝!!! – ikarius 2013-02-19 14:49:46