【问题标题】:ListFragment Support Library GetSupportFragmentManager undefinedListFragment 支持库 GetSupportFragmentManager 未定义
【发布时间】:2012-06-26 13:26:49
【问题描述】:

我有一个列表Fragment(导入v4支持库,构建目标是2.3.3 api 11) 当目标是 3.0 并且我没有使用该库时,我的代码中的以下问题可以正常工作。

Fragment frag1 = new ExampleFragment();
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.contentframe, frag1);
ft.commit();

现在我得到了编译错误

"Type mismatch: cannot convert from ExampleFragment to Fragment"

它告诉我将“片段”更改为 ExampleFragment(例如)

ExamplesFragment frag1 = new ExamplesFragment();
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.contentframe, frag1);
ft.commit();

那我有个问题就是ft.replace命令出错了:

The method replace(int, Fragment) in the type FragmentTransaction is not applicable for the arguments (int, Fragment_PVAnn)

它告诉我将第一行中的 ExamplesFragment 改回 Fragment,这样圆圈就会转来转去

【问题讨论】:

  • ExamplesFragment 是扩展 Fragmentclass 吗?请提供ExamplesFragment代码......
  • 3.0 中的 Fragment 和 support lib 中的 Fragment 不一样。因此,如果您使用支持库中的片段管理器和 3.0 中的片段,或者相反,您会收到此错误。确保始终使用支持 lib 或 3.0/4.0 片段。

标签: java android android-fragments


【解决方案1】:

你应该使用

getActivity().getSupportFragmentManager()

如果这仍然给您带来问题,请确保您的Activity extends FragmentActivity

如果这仍然给您带来问题,

  1. 删除所有您的导入,
  2. 使用 Ctrl + Shift + O
  3. 重新导入
  4. 在每次名称冲突时,请确保您从 support.v4.* 导入,不是 android.*

【讨论】:

  • 现在只是另一个问题。我尝试在 2.3.3 中启动它。模拟器,它给了我一个 main.xml 文件的错误,错误是“错误膨胀类片段”它在我的内容框架布局所在的行,我在上面引用为 contentframe
  • 你必须更清楚......我不太明白这个错误。您可能希望将代码添加到新的 StackOverflow 帖子或其他内容中,这样会引起更多关注。如果你成功了,请把我链接到新帖子,我可以在那里提供帮助。在 cmets 中解决此类问题太难了...
【解决方案2】:

您必须确保在扩展Fragment 时,您正在扩展Fragment,即v4 包空间中的Fragment。检查您的导入是否有FragmentFragmentActivity 等,如果您在包名称中看到它们导入时没有.v4,那么这是错误的。

另外,如果您将项目的 android 库设置为 2.3 而不是 4.0.x,那么您将很快查看您是否使用了不正确的类,因为您会收到编译错误,可以通过使用来修复android 支持 jar 中的 v4 类(希望您也将其包含在您的项目中)

【讨论】:

  • a) 我已经包含了支持 jar b) 我扩展了一个 ListFragment,因为我在这个片段中显示了一个列表
  • 您的活动是否也在扩展 FragmentActivity?
猜你喜欢
  • 2012-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多