3

我有两个片段并将它们设置如下

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)
4

2 回答 2

5

由于您使用的是支持库的 Fragments,因此您的 Activity 需要扩展FragmentActivity,使用的方法是getSupportFragmentManager()

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

于 2012-11-16T14:42:53.353 回答
1

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

于 2012-11-16T14:47:01.057 回答