android - fragment 内带有 SupportMapFragment 的 NullPointerException

标签 android android-fragments

我试图在 fragment 中获取 Google map ,但出现 NullPointerException。我已经阅读了类似问题的其他答案,但它们对我没有帮助。

主页 fragment :

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_home, container, false);
        SupportMapFragment mapFragment = (SupportMapFragment) getFragmentManager()
            .findFragmentById(R.id.ftMap);
        mapFragment.getMapAsync(this);

        return view;
    }

fragment_home.xml:

    <fragment
        android:id="@+id/ftMap"
        android:name="com.google.android.gms.maps.SupportMapFragment"
        android:layout_width="match_parent"
        android:layout_height="300dp"
        android:layout_centerInParent="true"
        android:layout_margin="8dp" />

最佳答案

由于您使用的是嵌套在外部 Fragment 内部的 SupportMapFragment,因此需要使用 getChildFragmentManager() 而不是 getFragmentManager():

SupportMapFragment mapFragment = (SupportMapFragment) getChildFragmentManager()
     .findFragmentById(R.id.ftMap);

关于android - fragment 内带有 SupportMapFragment 的 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41475417/

相关文章:

android - 组合 2 个渐变

android - 如何在 Android 中将选项菜单添加到 Fragment

java - 无法在 fragment 中使用适配器显示 ListView

java - 按下按钮时生成随机句子,代码看起来正确但不起作用

java - 在另一个线程中使用在一个线程中生成的数据

android - WifiNetworkSpecifier 绕过用户选择

android - in-mobi 和 admob 哪个更好?

android - 需要复杂的 Android UI 设计指导( fragment )

android - 带有滑动菜单和操作栏的动态 UI

android - 在 fragment 中的 onCreateView 方法之外,上下文更改为 null