2012-12-21 74 views
1

我想實現一個自定義的光標加載器從我的數據庫加載數據到fragmentpageradapter託管的片段。 我有一個活動(擴展SherlockFragmentActivity),它有一個片段,它實現了一個fragmentpageradapter(通過新的嵌套片段)。 fragmentpageradapter下的每個片段都實現了一個自定義的光標加載器,用於生成要顯示的數據。我在onActivityCreated中啓動加載器,然後在onResume上重新啓動並在onDestroy上銷燬它。讓我說我在第1頁,傳呼機也自動啓動第2頁(默認行爲更流暢的交易)問題是如果我添加一個項目要顯示在第2頁(從操作欄),我在第1頁,當我滑動頁面到加載程序不會刷新數據。Android的FragmentPagerAdapter和光標加載器

有什麼想法? 謝謝!

回答

0

由於LoaderManager和FragmentManager共同爲您處理,因此無需停止加載程序。話雖如此,我不確定這是你問題的原因。在過去的一個月中,我發現了許多裝載機的錯誤。雖然,其中大部分與裝載機沒有更新有關。

我知道裝載機存在一個現有的錯誤,但我沒有時間追蹤它。這是建議的解決方法。試試這個。

@Override 
public void onActivityCreated(Bundle savedInstanceState) { 
    super.onActivityCreated(savedInstanceState); 

    // Start or restart the loader. Note: this is a work-around to an Android 
    // bug with loaders where they are not always properly activated with life-cycle 
    // changes in the activity/fragment. 
    Loader<Object> loader = getLoaderManager().getLoader((int) mId); 
    if (loader != null && ! loader.isReset()) { 
     mStatusLoader = (StatusItemLoader) getLoaderManager().restartLoader(
                (int) mId, null, mLoadListener); 
    } else { 
     mStatusLoader = (StatusItemLoader) getLoaderManager().initLoader(
                (int) mId, null, mLoadListener); 
    } 
} 
+0

試過這個,但它仍然不起作用,我認爲問題是fragmentpageradapter內片段的生命週期... – senior