2015-09-16 36 views
0

我主要活動:不能使交易在

public class GeneralActivity extends ActionBarActivity { 
... 
} 

我已經在我創造一個抽屜另一個類,給我帶來所需要的參數。但是當我單擊菜單項時想要移動到不同的片段時,IDE將寫入沒有方法getSupportFragmentManager()。

public class DrawerClass { 

    public static void drawer(final Activity activity, Toolbar toolbar) { 
    ... 
    result.setOnDrawerItemClickListener(new Drawer.OnDrawerItemClickListener() { 
      @Override 
      public boolean onItemClick(View view, int i, IDrawerItem iDrawerItem) { 
       Log.d("POSITION", "position = " + i); 
       switch (i) { 
       .... 
        case 5: 
         Toast.makeText(activity, R.string.drawer_item_journal, Toast.LENGTH_SHORT).show(); 
         JournalFragment journalFragment = new JournalFragment(); 
         FragmentTransaction transaction = getSupportFragmentManager() 
           .beginTransaction(); 
         transaction.replace(R.id.profile_fragment_layout, journalFragment); 
         transaction.commit(); 
         break; 
       } 
       return false; 
      } 
     }); 

我就行了FragmentTransaction transaction = getSupportFragmentManager()錯誤,我不知道如何解決它。
我用這個抽屜裏幾類,所以我爲了避免重複代碼

回答

0

你不能使用getSupportFragmentManager活動或片段之外..創建一個單獨的類 這樣做

activity.getSupportFragmentManager(); 

加上建議您將其從靜態更改爲單一..

+0

AndroidStudio說活動只有getFragmentManager() – metalink

+0

那麼你需要使用從V4支持包的活動,而不是從高API活動檢查你的進口 –