相关疑难解决方法(0)

MapFragment在getMapAsync(this)方法中导致NullPointerException

我已经实现了一个MapFragment在运行时添加的活动.该MapFragmentXML有静态的fragment,我试图让添加在运行时.我还发现Lollipop在运行时添加了地图片段存在一些问题.请检查问题临时解决方案

我也在下面给出了我的代码,

fragment_map.xml

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
         xmlns:tools="http://schemas.android.com/tools"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         tools:context=".fragment.MapsFragment">

<fragment
    android:id="@+id/map"
    android:name="com.google.android.gms.maps.SupportMapFragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="appCreators.bloodfinder.activity.MapsActivity"/>

<include
    android:id="@+id/layout"
    layout="@layout/template_custom_spinner"/>

</FrameLayout>
Run Code Online (Sandbox Code Playgroud)

MapsFragment.java

器物 onMapReadyCallback

public class MapsFragment extends SupportMapFragment implements OnMapReadyCallback
Run Code Online (Sandbox Code Playgroud)

onResume回调中

@Override
public void onResume() {
    super.onResume();
    ((SupportMapFragment) getChildFragmentManager().findFragmentById(R.id.map)).getMapAsync(this);
}
Run Code Online (Sandbox Code Playgroud)

这总是给我null,我也尝试过,

((SupportMapFragment) getActivity().getSupportFragmentManager().findFragmentById(R.id.map)).getMapAsync(this);
Run Code Online (Sandbox Code Playgroud)

这也回归了 NullPointerException

MapsActivity.java

getSupportFragmentManager().beginTransaction().add(R.id.fragmentContainer, MapsFragment.newInstance()).commit();
Run Code Online (Sandbox Code Playgroud)

我在onCreateActivity回调方法中添加了这个.

我无法弄清楚为什么我还在这里NullPointerException!

有时我得到 Attempt to invoke interface method 'void com.google.maps.api.android.lib6.e.fl.o()' on a null object reference

帮助将不胜感激!

更新:仍然没有修复我收到以下错误.我查看了日志,但不知道为什么会发生这种情况. …

android nullpointerexception mapactivity android-fragments supportmapfragment

9
推荐指数
1
解决办法
9359
查看次数