2015-09-10 25 views
0

我遇到以下問題。我的應用程序有2個片段,第一個片段顯示項目列表,當你點擊一個項目時,顯示一個細節片段。 我也有一個NavigationDrawerActivity,用以下方法來處理碎片堆棧。在配置上保留相同的片段實例更改

private void changeFragment(int pos, Fragment fragment, boolean addToBackStack) { 


     Fragment f = getSupportFragmentManager().findFragmentByTag(String.valueOf(pos)); 
     FragmentManager fragmentManager = getSupportFragmentManager(); 
     FragmentTransaction ft = fragmentManager.beginTransaction(); 
     mCacheServices.setmFragmentTag(String.valueOf(pos)); 
     ft.replace(R.id.container, fragment, String.valueOf(pos)); 

     if ((addToBackStack)) { 
      ft.addToBackStack(STACK_KEY); 
     } 
     ft.commit(); 

} 

我面臨的問題是當我在DetailFragment,以及i rotete的裝置中,它轉到ITEMLIST片段,其是由該應用excuted冷杉片段。當我旋轉設備時,我能做些什麼來維護DetailFragment?

謝謝!

回答

0

您可以保存片段的狀態,然後重新創建它。通過這個去了解更多詳情

http://developer.android.com/guide/topics/resources/runtime-changes.html

希望這會有所幫助。

+0

我試着用setRetainInstance(true);但方法changeFragment無論如何被調用,它再次設置itemlist片段 – maxi182

+0

我在清單上添加了android:configChanges =「orientation | screenSize」,以查看碎片所在的draweractivity。這種做法可以嗎? – maxi182