2012-11-16 49 views
2

我有兩個片段,並設定他們像下面問題與getFragmentManager()調用BeginTransaction()

fram1 = new FragMent1(); 
fragMentTra.addToBackStack(null); 
fragMentTra = getFragmentManager().beginTransaction().add(rl.getId(), fram1, "fram1"); 

fram2 = new FragMent2(); 
fragMentTra.addToBackStack(null); 
fragMentTra = getFragmentManager().beginTransaction().add(rl.getId(), fram2, "fram2"); 

片段延伸Listfragment,而不是其他。

public class FragMent1 extends android.support.v4.app.ListFragment { 

public class FragMent2 extends Fragment{ 

當我執行線fragMentTra = getFragmentManager().beginTransaction().add(rl.getId(), fram1, "fram1");

我得到了以下錯誤消息。任何人都知道如何解決此問題?

The method add(int, Fragment, String) in the type FragmentTransaction is not applicable for the arguments (int, FragMent1, String) 
+1

改爲使用getSupportFragmentManager getFragmentManager – Yahor10

回答

4

由於您使用支持庫的片段,你的活動將需要延長FragmentActivity,以及使用的方法是getSupportFragmentManager()

除非您計劃僅針對API 11及更高版本,否則您可能必須始終將Fragments的支持庫用於本地實現。

1

FragMent1應該延伸android.app.ListFragment而不是android.support.v4.app.ListFragment