android - getFragmentManager().beginTransaction() 问题

标签 android android-layout

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

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)

最佳答案

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

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

关于android - getFragmentManager().beginTransaction() 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13418784/

相关文章:

java - 设备旋转时丢失 'MediaPlayer'(及其他变量)

java - 约束布局是否应该包裹所有其他 View ?

c# - 更改链接到 ListView 中所选项目的文本框中的值后,数据库中的表未更新

android - 获取 Android gradle 插件和 checkstyle 一起工作/命令行使用

android - "Error in retrofit api call"完成 observable 而不是让其他 observable 发出项目

java - 使用 Android DataBinding 时强制点 (“.” ) 作为小数点分隔符

android - (撰写 UI)- 键盘 (IME) 与应用程序的内容重叠

android - TextView 大小不会在 setTextSize 上正确调整大小

android - 对齐 RadioButton 下方的文本

android - Xamarin Android 仅在手机上将方向锁定为纵向