2014-01-17 56 views
0

我正在使用帶片段的NaviagationDrawer。 現在在MainActivity中,我打開各種片段,但其中一行必須打開一個活動。Android Startactivity NavigationDrawer片段

/** 
* Diplaying fragment view for selected nav drawer list item 
* */ 
private void displayView(int position) { 

    // update the main content by replacing fragments 
    Fragment fragment = null; 
    switch (position) { 
    case 0: 
     fragment = new HomeFragment(); 
     break; 
    case 1: 
     fragment = new InFragment(); 
     break; 
    case 2: 
     fragment = new RiFragment(); 
     break; 
    case 3: 
     fragment = new RieFragment(); 
     break; 
    case 4: 
     fragment = new PagesFragment(); 
     break; 
    case 5: 
     fragment = new WhatsHotFragment(); 
     break; 

    default: 
     break; 
    } 

    if (fragment != null) { 
     FragmentManager fragmentManager = getFragmentManager(); 
     fragmentManager.beginTransaction() 
       .replace(R.id.frame_container, fragment).commit(); 

     // update selected item and title, then close the drawer 
     mDrawerList.setItemChecked(position, true); 
     mDrawerList.setSelection(position); 
     setTitle(navMenuTitles[position]); 
     mDrawerLayout.closeDrawer(mDrawerList); 
    } else { 
     // error in creating fragment 
     Log.e("MainActivity", "Error in creating fragment"); 
    } 
} 

在情況4中,我想開一個活動,就像我一樣?

+0

現在你在一個ActivityFragment中,這種活動是一個片段的宿主。你只能改變活動並進入另一個活動。 –

回答

0

如果您想在case 4:中開一個新活動,您可以像平常一樣簡單地開始一個新活動,並帶上Intent

... 
case 4: 
    Intent intent = new Intent(this, MyActivity.class); 
    startActivity(intent); 
    break; 
... 

你也想改變在底部你的if/else塊,以避免記錄錯誤,當你開始一個新的活動(因爲你fragment變量將是在這種情況下空)。

+0

好吧,現在我想在'action bar'中輸入'Options menu'並且還有'NavigationDrawer'。也就是說,每個'Fragment'的改變我想顯示一個不同的'選項菜單'。我試圖按照正常的方式進行,但這不是正確的做法 – user3160725

相關問題