Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Can';如果无法使嵌套片段正常工作,则可以';无法解析getChildFragmentManager_Java_Android_Android Fragments_Android Support Library_Android Nested Fragment - Fatal编程技术网

Java Can';如果无法使嵌套片段正常工作,则可以';无法解析getChildFragmentManager

Java Can';如果无法使嵌套片段正常工作,则可以';无法解析getChildFragmentManager,java,android,android-fragments,android-support-library,android-nested-fragment,Java,Android,Android Fragments,Android Support Library,Android Nested Fragment,我已经研究这个问题好几个小时了 我的简单应用程序以片段形式显示谷歌地图。在执行某些操作时,我希望在此映射的顶部覆盖一个片段,因此在收到onClickListener事件后,我将尝试运行: void addfragment() { Fragment placeDetails = new PlaceDetailsFragment(); FragmentTransaction transaction = getChildFragmentManager().beginTransacti

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

我的简单应用程序以片段形式显示谷歌地图。在执行某些操作时,我希望在此映射的顶部覆盖一个片段,因此在收到onClickListener事件后,我将尝试运行:

void addfragment() {

    Fragment placeDetails = new PlaceDetailsFragment();
    FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
    transaction.add(R.id.details, placeDetails).commit();

}
例如:

我自动导入了以下类:

import android.app.Fragment;
import android.app.FragmentTransaction;
除了getChildFragmentManager之外,所有类型和方法都可以解析。在做了一些挖掘之后,我不得不猜测getChildFragmentManager不是普通片段库的一部分,但我必须安装支持库,尤其是v4。因此,我安装了v7,其中也包括v4 jar,并返回重新导入片段类:

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目录,但是我在这个项目中没有也不需要它。稍后我可能会得到一个正常的操作栏,但我不明白嵌套片段为什么需要这样做

另外,我正在使用API 18编译Minsdk版本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;

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

请参阅确保您发布的
addfragment()
方法属于您的自定义片段类(不是活动,不是其他任何内容)。你能证实吗?是的,你是对的。我在活动中使用它。我真是个笨蛋:)如果你能把你的评论作为答案贴出来,我会把它标记为正确的。谢谢你的回答,但是基鲁瓦卡的评论是正确的;我不是在片段类中使用它,而是在活动中使用它。没问题。根据您的设计,您可以将片段添加到片段中。在这种情况下,需要对父片段调用getChildFragmentManager()来获取片段管理器。您需要导入FragmentManager表单支持库v4包才能工作。当然,如果您的片段在活动中,那么您将调用getFragmentManager来检索片段管理器。