我有一个导航抽屉活动,片段像往常一样用于导航抽屉的不同项目。导航抽屉的第一项中有一个标签布局。标签布局已使用viewpager实现。这个viewpager里面有一张地图。
我想做的是致电
SupportMapFragment mapFragment = (SupportMapFragment) getActivity().getSupportFragmentManager().findFragmentById(R.id.map);
但mapFragment始终为空。
我花了2个多小时应用了很多方法,但我无法成功。
根据我的知识,这里的问题是这个。 getActivity()方法返回导航抽屉活动。 getSupportFragmentManager()返回附加到导航抽屉的片段。但地图不在那个片段中。 Map位于视图分页器中的片段内。
有人可以建议一种方法来实现这个目标吗?
答案 0 :(得分:7)
使用此getChildFragmentManager();
获取FragmentManager
Fragment
答案 1 :(得分:-1)
我能够使用以下代码:
private void setupViewPager(ViewPager viewPager) {
ViewPagerAdapter adapter = new ViewPagerAdapter(getChildFragmentManager());
adapter.addFragment(new OneFragment(), "ONE");
adapter.addFragment(new TwoFragment(), "TWO");
adapter.addFragment(new ThreeFragment(), "THREE");
viewPager.setAdapter(adapter);
}