我试图在Android片段中使用DJI。它在活动中工作得很好,但是当我将这个小部件与片段一起使用时,它就不能工作了。
有人知道问题出在哪里吗?
下面是我实现的代码。
public class HomeFragment extends Fragment{
    private MapWidget mapWidget;
    public HomeFragment() {
    }
    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View inflate = inflater.inflate(R.layout.fragment_home, container, false);
        mapWidget = inflate.findViewById(R.id.map_widget);
        mapWidget = inflate.findViewById(R.id.map_widget);
        mapWidget.initGoogleMap(new MapWidget.OnMapReadyListener() {
            @Override
            public void onMapReady(@NonNull DJIMap djiMap) {
            }
        });
        return inflate;
    }
    @Override
    public void onResume() {
        super.onResume();
        mapWidget.onResume();
    }
    @Override
    public void onPause() {
        super.onPause();
        mapWidget.onPause();
    }
    @Override
    public void onDestroy() {
        super.onDestroy();
        mapWidget.onDestroy();
    }
    @Override
    public void onLowMemory() {
        super.onLowMemory();
        mapWidget.onLowMemory();
    }
}StackTrace
由: com.google.maps.api.android.lib6.impl.cw.b(:com.google.android.gms.dynamite_mapsdynamite@12874021@12.8.74 :尝试在com.google.android.gms.maps.internal.w.a(:com.google. (040306-204998136):21处的空对象引用上调用接口方法‘voidcom.google.maps.api.android.lib6.in.bo.o()’所致android.gms.dynamite_mapsdynamite@12874021@12.8.74 (040306-204998136):12)在fc.onTransact(:com.google.android.gms.dynamite_mapsdynamite@12874021@12.8.74 (040306-204998136):12)在android.os.Binder.transact(Binder.java:387)在com.google.android.gms.internal.zzeu.zzb(Unknown来源)在com.google.android.gms.maps.com.google.android.gms.maps.MapView$zza.onResume(Unknown源( com.google.android.gms.dynamic.zzh.zzb(Unknown源))( com.google.android.gms.dynamic.zzb.zza(Unknown源)( com.google.android.gms.maps.MapView$zzb.zza(Unknown源)( com.google.android.gms.dynamic.zza.zza源)(未知源)在com.google.android.gms.dynamic.zza.onResume(Unknown源)在com.google.android.gms.maps.MapView.onResume(Unknown源)在dji.ux.widget.MapWidget.onResume(未知源)在com.xxx.xxx.HomeFragment.onResume(HomeFragment.java)
发布于 2018-08-10 18:43:09
试着做这样的事情:
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    View inflate = inflater.inflate(R.layout.fragment_home, container, false);
    mapWidget = inflate.findViewById(R.id.map_widget);
    mapWidget.initGoogleMap(new MapWidget.OnMapReadyListener() {
        @Override
        public void onMapReady(@NonNull DJIMap djiMap) {
        }
    });
    mapWidget.onCreate(savedInstanceState); // add this line
    return inflate;
}https://stackoverflow.com/questions/51666009
复制相似问题