getFragmentManager()的问题.beginTransaction()

时间:2012-11-16 14:40:44

标签: android android-layout

我有两个片段,如下所示设置

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");

Fragment扩展了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)

2 个答案:

答案 0 :(得分:4)

由于您正在使用支持库的片段,因此您的活动需要扩展FragmentActivity,并且要使用的方法是getSupportFragmentManager()

在计划仅定位API 11及更高版本之前,您可能必须始终使用支持库而不是本机实现。

答案 1 :(得分:1)

FragMent1应该延伸android.app.ListFragment,而不是android.support.v4.app.ListFragment