一尘不染

ListFragment支持库GetSupportFragmentManager未定义

java

我有一个列表片段(导入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"

它告诉我将“ 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,这样圆就转了转


阅读 239

收藏
2020-12-03

共1个答案

一尘不染

你应该用

getActivity().getSupportFragmentManager()

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

如果那仍然给您带来麻烦,

  1. 删除 所有 导入,
  2. 重新导入Ctrl+ Shift+ O
  3. 在每一个名称冲突,请务必从导入support.v4.*不是 android.*
2020-12-03