I am writing code by example, so in one moment set the values

mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map); map = mapFragment.getMap(); 

The getMap method was not seen. Looking on the Internet, I realized that this method was changed to getMapAsync(this); Now you need to write like this:

 SupportMapFragment mapFrag = (SupportMapFragment) getChildFragmentManager().findFragmentById(R.id.fragment_map); mapFrag.getMapAsync(this); 

But I throw an error. Log:

 E/AndroidRuntime: FATAL EXCEPTION: main java.lang.NullPointerException at com.example.danilshik.testapplication.fragments.FragmentMapsShop.onViewCreated(FragmentMapsShop.java:76) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1439) at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1759) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1827) at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:797) at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2596) at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2383) at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2338) at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2245) at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:703) at android.os.Handler.handleCallback(Handler.java:615) at android.os.Handler.dispatchMessage(Handler.java:92) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:4745) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) at dalvik.system.NativeStart.main(Native Method) Application terminated. 

I do not understand what is Null and how to fix it Source: https://stackoverflow.com/questions/38323120/android-cannot-resolve-method-getmap

  • There is not enough information in the question, but try replacing R.id.fragment_map with R.id.map. - Enikeyschik

1 answer 1

It returns null, because it is used in the implements OnMapReadyCallback class implements OnMapReadyCallback

Callbacks are executed after creating and displaying a fragment. Therefore, you must use a listener and write this:

 @Override public void onMapReady(GoogleMap googleMap) { mMap = googleMap; setUpMap(); } 

Also do not forget about checking for null:

 if (mMap == null) { SupportMapFragment mapFrag = (SupportMapFragment) getChildFragmentManager().findFragmentById(R.id.fragment_map); mapFrag.getMapAsync(this); } 

this or getApplicationContext ()