我可以在低于API 23的时候使用fragment.getContext吗?

时间:2017-09-26 07:02:20

标签: android android-fragments

我正在制作googleMap Fragment。

 @Override
    public void onMapReady(GoogleMap googleMap) {
        MapsInitializer.initialize(getContext());

        mGoogleMap = googleMap;
        googleMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);

        googleMap.addMarker();

        ...
    }

但在此代码中,getContext可用于API 23或更高版本。 是否有一个方法而不是getContext ??

3 个答案:

答案 0 :(得分:1)

  

public static synchronized int initialize (Context context)

     

初始化Google Maps Android API,以便其类已准备就绪   用来。如果您正在使用MapFragment或MapView   通过调用任何一个上的getMapAsync()获得(非null)GoogleMap   这些类,然后没有必要调用它。

if(FRAGMENT) 然后

您应该使用getActivity()

MapsInitializer.initialize(getActivity());

答案 1 :(得分:1)

使用getActivity()代替getContext();

MapsInitializer.initialize(getActivity());

答案 2 :(得分:0)

您还可以使用Application实例的getApplicationContext()方法