2016-02-18 184 views
-1

我在我的應用程序中實現了一個導航抽屜,該應用程序是一個選項卡式佈局,我認爲這是問題來自何處。Android導航抽屜碎片不顯示

此刻,我有一個關於導航器抽屜中的項目的偵聽器,以便在按下時啓動新的片段。問題是,當我按下其中一個項目時,片段似乎沒有加載,當前片段變得空白。

如何在選擇項目後設置片段的佈局?由於我目前的方法似乎沒有工作。下面顯示了我目前的嘗試,其中R.id.viewpager是我想要替換的。有沒有一種方法可以啓動碎片佈局,並用新的碎片佈局完全替換佈局?

onDrawerItemSelected

@Override 
public void onDrawerItemSelected(View view, int position) { 
    Fragment fragment = null; 
    String title = getString(R.string.app_name); 
    switch (position) 
    { 
     case 0: 
     { 
      Intent intent = new Intent(MainActivity.this, MainActivity.class); 
      startActivity(intent); 
     } 
     case 1: 
      fragment = new FavouritesFragment(); 
      title = getString(R.string.title_favourites); 
      break; 
     case 2: 
      fragment = new HelpFragment(); 
      title = getString(R.string.title_help); 
      break; 
     default: 
      break; 
    } 
    if (fragment != null) { 
     FragmentManager fragmentManager = getSupportFragmentManager(); 
     FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); 
     fragmentTransaction.replace(R.id.viewpager, fragment); 
     fragmentTransaction.commit(); 

     // set the toolbar title 
     getSupportActionBar().setTitle(title); 
    } 
} 
+0

您選擇了哪個位置?當您選擇0時,看起來像是開始一個新的活動。這可能是你面臨的問題嗎? – Elye

+0

對於案例0是的這是一個新的活動創建我正在使用的活動,但我認爲使用片段會更好,更平滑的過渡 – JJSmith

回答

0
fragmentTransaction.replace(R.id.viewpager, fragment); 

你不用更換viewpager,你的viewPager設置當前項目。你應該有一個PagerAdapter定義哪個片段顯示的位置。

+0

但是,如果它能正常工作,取代視圖不是一個更簡單的解決方案嗎? – JJSmith