java - 无法让嵌套 fragment 工作,无法解析 getChildFragmentManager

标签 java android android-fragments android-support-library android-nested-fragment

我已经研究这个问题几个小时了。

我的简单应用程序在 fragment 中显示谷歌地图。在执行某些操作时,我希望在该 map 顶部叠加一个 fragment ,因此在收到 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 库的一部分,但我必须安装支持库,尤其是 v4。所以我安装了 v7,其中还包括 v4 jar,然后返回重新导入 fragment 类:

import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentTransaction;

GetChildFragmentManager 仍然无法解析。

我尝试手动添加

导入android.support.v4.app.FragmentManager;

因为,getChildFragmentManager是fragment的一个方法,应该返回一个FragmentManager,但仍然没有解析。

我觉得我好像做了一些非常错误的事情,谷歌搜索对我没有多大帮助。他们一直在谈论将 v4.jar 移动到 ActionBarSherlock 的 lib 目录,但我在这个项目中没有也不需要它。我稍后可能会得到一个普通的操作栏,但我不明白为什么嵌套 fragment 需要它。

此外,我正在使用 API 18 编译到 minSDKversion 18 和 targetSDK 版本 18,那么为什么我还需要支持库呢?这是 4.2 的功能,SDK 17,它也应该出现在 SDK 18 中,对吗?正如文档中所述,支持库的使用不是仅适用于较低的 SDK 吗?

The Android Support Library also now supports nested fragments,
so you can implement nested fragment designs on Android 1.6 and higher.

我做错了什么?有人有什么想法或解决方案吗?我已经花了几个小时,已经两天多了,理智转瞬即逝:)

提前致谢!

最佳答案

确保您也从 android.support.v4.app 包导入 FragmentManager。

import android.support.v4.app.FragmentManager;

我没有你的代码的完整 View 。希望这能解决您的问题。

关于java - 无法让嵌套 fragment 工作,无法解析 getChildFragmentManager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22666439/

相关文章:

java - Spring无法识别图像和CSS

java - 无论如何,是否可以在程序启动时自动运行 Universal Gcode Sender 中的文件,而不必上传文件?

android - 与应用程序共享某些内容后出现异常 IndexOutOfBoundsException FragmentManagerImpl

android - 如何从另一个应用程序打开WifiDisplay设置?

android - 在调用 onCreate() 之前在 Android 保留 Fragment 上设置数据

java - 使用@RequestParam还是@PathVariable?

java - Hibernate 中的自然标识符是什么?

android - Android中有没有类似java中repaint()的方法?

android - 控制 VirtualDisplay 的帧率

android - 在两个 ViewPager 小部件的连接处添加 fab Button