我已经在这个问题上工作了几个小时了。
我的简单应用在片段中显示谷歌地图。在某些操作后,我想在此地图上方放置一个片段覆盖,因此在收到onClickListener事件后,我试图运行:
void addfragment() {
Fragment placeDetails = new PlaceDetailsFragment();
FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
transaction.add(R.id.details, placeDetails).commit();
}
根据http://developer.android.com/about/versions/android-4.2.html#NestedFragments
的示例我自动导入了以下类:
import android.app.Fragment;
import android.app.FragmentTransaction;
除getChildFragmentManager外,每种类型和方法都可以解析。在做了一些挖掘之后,我不得不猜测getChildFragmentManager不是普通Fragment lib的一部分,但我必须安装支持库,特别是v4。所以我安装了v7,它还包括v4 jar,然后重新导入片段类:
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentTransaction;
GetChildFragmentManager仍然无法解决。
我尝试手动添加
import android.support.v4.app.FragmentManager;
因为,getChildFragmentManager是一个片段的方法,它应该返回一个FragmentManager,但仍然没有解析。
我觉得好像我做错了什么,谷歌搜索对我没什么帮助。他们一直在谈论将v4.jar移动到ActionBarSherlock的lib目录,但我在这个项目中并不需要。我可能会在以后获得一个正常的Action Bar,但我不明白为什么嵌套片段需要它。
另外,我正在使用API 18编译成minSDKversion 18和targetSDK版本18,那么为什么我甚至需要支持库呢?它是一个4.2功能,SDK 17,它也应该在SDK 18中,对吗?如文档中所述,不支持使用支持库吗?
The Android Support Library also now supports nested fragments,
so you can implement nested fragment designs on Android 1.6 and higher.
我做错了什么?任何人的想法或解决方案?我已经在这里工作了好几个小时,现在已经超过2天了,理智是稍纵即逝的:)
提前致谢!
答案 0 :(得分:1)
确保从android.support.v4.app包中导入FragmentManager。
import android.support.v4.app.FragmentManager;
我没有完整的代码视图。希望这能解决您的问题。