ListFragment支持库GetSupportFragmentManager未定义

Kil*_*ler 10 java android android-fragments

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

Fragment frag1 = new ExampleFragment();
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.contentframe, frag1);
ft.commit();
Run Code Online (Sandbox Code Playgroud)

现在我收到了编译错误

"Type mismatch: cannot convert from ExampleFragment to Fragment"
Run Code Online (Sandbox Code Playgroud)

它告诉我将"Fragment"更改为ExampleFragment(例如)

ExamplesFragment frag1 = new ExamplesFragment();
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.contentframe, frag1);
ft.commit();
Run Code Online (Sandbox Code Playgroud)

然后我遇到ft.replace命令有错误的问题:

The method replace(int, Fragment) in the type FragmentTransaction is not applicable for the arguments (int, Fragment_PVAnn)
Run Code Online (Sandbox Code Playgroud)

它告诉我将第一行中的ExamplesFragment更改回Fragment,这样圆圈四处转动

Ale*_*ood 27

你应该用

getActivity().getSupportFragmentManager()
Run Code Online (Sandbox Code Playgroud)

如果这仍然给你带来问题,那么请确保你的问题Activity extends FragmentActivity.

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

  1. 删除所有导入,
  2. Ctrl+ Shift+ 重新导入O,和
  3. 在每个名称冲突中,请确保从中导入support.v4.*,而不是 android.*.