android - 带有 viewPager 的 Maps V2

标签 android android-viewpager android-maps-v2

我目前正在为 Android 4.3 开发。
背景:
我正在使用 pageViewer 在三个不同的 fragment 之间滚动。 我的第二个 fragment (选项卡 2)包含带有 SupportMapFragment 和其他内容的 XML。如下图:
My problem http://imageupload.co.uk/files/vrhg1e06x977rkm1vhmd.jpg
我的尝试:
在搜索网络时,我注意到对于 SupportMapFragment,我需要 FragmentActivity,它不适用于 FragmentPagerAdapter。 我需要用户能够控制 map 以及控制 fragment 中的其余内容。
我的问题:
如何在 fragment 中包含更多内容的同时将 SupportMapFragment 与 viewPager 一起使用?

关于我的代码的更多信息: 在 FragmentPagerAdapter 的 getItem 中,我返回单例 fragment (每个 fragment 都有一个类),因此我无法在互联网上找到任何解决方案,因为我的类无法扩展 SupportMapFragment,因为它有更多数据。

最佳答案

从 Android 4.2 开始(也在 Jelly 之前的支持库中)你可以使用 nested fragments .

你可以看到如何创建这样的 fragment :

public class MyFragment extends Fragment {

    private SupportMapFragment fragment;
    private GoogleMap map;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        return inflater.inflate(R.layout.layout_with_map, container, false);
    }

    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        FragmentManager fm = getChildFragmentManager();
        fragment = (SupportMapFragment) fm.findFragmentById(R.id.map_container);
        if (fragment == null) {
            fragment = SupportMapFragment.newInstance();
            fm.beginTransaction().replace(R.id.map_container, fragment).commit();
        }
    }

    @Override
    public void onResume() {
        super.onResume();
        if (map == null) {
            map = fragment.getMap();
            map.addMarker(new MarkerOptions().position(new LatLng(0, 0)));
        }
    }
}

以上代码复制自here .

重要说明:您的自定义 Fragments的布局不能包含 <fragment>标签。

关于android - 带有 viewPager 的 Maps V2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18369639/

相关文章:

android - 如何获取标记文本的点击事件

android - 在Kotlin的自定义JsonDeserializer中使用默认的JsonDeserializer

android - Flutter build apk 有 bug 而 debug 很完美

java - 在 Android 中使用 java 媒体框架

android - 垂直 ScrollView 内的 ViewPager 中的选项卡不会垂直滚动

android - 如何在 google map api v2 上旋转标记图标?

android - 设置 SupportActionBar 字幕多行

java - 从 viewpager 中的 Activity 开始新 Activity ?

安卓 : Reload particular fragment of fragmentPageAdapter not all?

android - 谷歌地图 v2 android api key 仅适用于调试 key