getFragmentManager()。beginTransaction()的问题

use*_*441 3 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");
Run Code Online (Sandbox Code Playgroud)

片段扩展Listfragment,而不是其他。

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

public class FragMent2 extends Fragment{
Run Code Online (Sandbox Code Playgroud)

当我执行生产线时 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)
Run Code Online (Sandbox Code Playgroud)

wsa*_*lle 5

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

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