【发布时间】: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