2014-07-22 24 views
0

我使用谷歌導航抽屜庫從以下鏈接... https://github.com/Arasthel/GoogleNavigationDrawerMenu如何保存片段的狀態在導航抽屜

下面

見代碼:

mDrawer.setOnNavigationSectionSelected(new GoogleNavigationDrawer.OnNavigationSectionSelected() { 
     @Override 
     public void onSectionSelected(View v, int i, long l) { 
      Fragment fragment = null; 
      switch (i) { 
      case 0: 
       // fragment = new HomeFragment(); 
       break; 
      case 1: 
       fragment = new NewsFragment(); 

       break; 
      case 2: 
       fragment = new TransferFragment(); 
       break; 
      case 3: 
       fragment = new BlogsFragment(); 
       break; 
      case 4: 
       fragment = new FixturesFragment(); 
       break; 
      case 5: 
       fragment = new BestXIFragment(); 
       break; 
      case 6: 
       fragment = new FeedFragment(); 

       break; 

      default: 
       break; 
      } 
      if (fragment != null) { 
       FragmentManager fragmentManager = getFragmentManager(); 
       fragmentManager.beginTransaction() 
         .replace(R.id.main, fragment).commit(); 

      } else { 
       // error in creating fragment 
       Log.e("MainActivity", "Error in creating fragment"); 
      } 
     } 
    }); 

我的片段是使用異步任務每當我在這些片段之間切換異步任務再次加載。

那麼如何保存片段的狀態?

+0

我的猜測是,你需要使用片段堆棧中類似如下的方式: http://stackoverflow.com/questions/16652071/android-single-instance-of-a-fragment – EpicPandaForce

回答

0

不是創造每一次新的片段,你可以保持片段的陣列,只是返回相同的對象:

mDrawer.setOnNavigationSectionSelected(new GoogleNavigationDrawer.OnNavigationSectionSelected() { 

Fragment[] fragments ={new HomeFragment(),new NewsFragment(), new TransferFragment(), new BlogsFragment(),new FixturesFragment() , new BestXIFragment(),new FeedFragment()}; 
@Override 

    public void onSectionSelected(View v, int i, long l) { 

     if (fragment[i] != null) { 
      FragmentManager fragmentManager = getFragmentManager(); 
      fragmentManager.beginTransaction() 
        .replace(R.id.main, fragments[i]).commit(); 

     } else { 
      // error in creating fragment 
      Log.e("MainActivity", "Error in creating fragment"); 
     } 
    } 
}); 
+0

對不起@ vipul-mittal但它不工作 – Yogi

+0

裏面的片段開始asych任務只是檢查它是否運行 –

+0

後其中之一您執行異步任務的碎片 –