Note that there are some explanatory texts on larger screens.

plurals
  1. POGetSupportFragmentManager always returns null
    primarykey
    data
    text
    <p>I am working on a small android application and whenever I call <code>GoogleMap map = ((SupportMapFragment)getSupportFragmentManager().findFragmentById(R.id.map)).getMap()</code>, it always returns null. I am trying to run this app on device with API 17 with Google Play.</p> <p>MapActivity:</p> <pre><code>public class MapActivity extends FragmentActivity implements LocationSource, LocationListener { private static final String TAG = "MapActivity"; private String device = android.os.Build.MODEL; private static final String UPDATE_LOC_URL = "http://lab.uzlabina.cz/~vongrad/Tracker/update_loc.php"; private static final String LOAD_LOCATIONS = "http://lab.uzlabina.cz/~vongrad/Tracker/load_locations.php"; private static final int ADD_MAP_PIN = 1; private Controller controller; private LocationManager locationManager; private OnLocationChangedListener locListener; private GoogleMap map; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); controller = Controller.getInstance(new User()); controller.setUserName(device); locationManager = (LocationManager)getSystemService(LOCATION_SERVICE); if (locationManager != null){ boolean isGPSEnabled = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER); boolean isNetworkEnabled = locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER); Log.d(TAG, "GPS " + isGPSEnabled + "Net " + isNetworkEnabled); if (isGPSEnabled){ locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 50L, 1F, this); } else if (isNetworkEnabled){ locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 500L, 10F, this); } else{ Toast.makeText(this, "GPS is disabled", Toast.LENGTH_LONG); } } else { Toast.makeText(this, "Something went wrrong", Toast.LENGTH_LONG); } setUpMapIfNeeded(); } public void onResume(){ //updateLocation.start(); super.onResume(); //setUpMapIfNeeded(); if (locationManager != null){ map.setMyLocationEnabled(true); } } public void onPause(){ //loadFriendsLocations.stop(); if (locationManager != null){ locationManager.removeUpdates(this); } super.onPause(); } private void setUpMapIfNeeded() { if (map == null){ map = ((SupportMapFragment)getSupportFragmentManager().findFragmentById(R.id.map)).getMap(); map.setLocationSource(this); if (map != null){ setUpMap(); } } } private void setUpMap() { map.setMyLocationEnabled(true); loadFriendsLocations.start(); } </code></pre> <p>Layout:</p> <pre><code> &lt;RelativeLayout 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" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MapActivity" &gt; &lt;TextView android:id="@+id/header" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /&gt; &lt;fragment android:id="@+id/map" android:name="com.google.android.gms.maps.SupportMapFragment" android:layout_width="match_parent" android:layout_height="match_parent" /&gt; &lt;/RelativeLayout&gt; </code></pre> <p>Manifest:</p> <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;manifest xmlns:android="http://schemas.android.com/apk/res/android" package="cz.vongrad.locator" android:versionCode="1" android:versionName="1.0" &gt; &lt;uses-sdk android:minSdkVersion="11" android:targetSdkVersion="17" /&gt; &lt;permission android:name="cz.vongrad.locator.permission.MAPS_RECEIVE" android:protectionLevel="signature"/&gt; &lt;uses-permission android:name="cz.vongrad.locator.permission.MAPS_RECEIVE"/&gt; &lt;uses-permission android:name="android.permission.INTERNET"/&gt; &lt;uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/&gt; &lt;uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/&gt; &lt;uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/&gt; &lt;!-- The following two permissions are not required to use Google Maps Android API v2, but are recommended. --&gt; &lt;uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/&gt; &lt;uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/&gt; &lt;uses-feature android:glEsVersion="0x00020000" android:required="true"/&gt; &lt;application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" android:debuggable="true"&gt; &lt;meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="blabla"/&gt; &lt;activity android:name="cz.vongrad.locator.MapActivity" android:label="@string/app_name" &gt; &lt;intent-filter&gt; &lt;action android:name="android.intent.action.MAIN" /&gt; &lt;category android:name="android.intent.category.LAUNCHER" /&gt; &lt;/intent-filter&gt; &lt;/activity&gt; &lt;/application&gt; &lt;/manifest&gt; </code></pre> <p>LogCat:</p> <pre><code> 10-05 19:40:13.284: E/AndroidRuntime(2697): FATAL EXCEPTION: main 10-05 19:40:13.284: E/AndroidRuntime(2697): java.lang.RuntimeException: Unable to start activity ComponentInfo{cz.vongrad.locator/cz.vongrad.locator.MapActivity}: java.lang.NullPointerException 10-05 19:40:13.284: E/AndroidRuntime(2697): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180) 10-05 19:40:13.284: E/AndroidRuntime(2697): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230) 10-05 19:40:13.284: E/AndroidRuntime(2697): at android.app.ActivityThread.access$600(ActivityThread.java:141) 10-05 19:40:13.284: E/AndroidRuntime(2697): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234) 10-05 19:40:13.284: E/AndroidRuntime(2697): at android.os.Handler.dispatchMessage(Handler.java:99) 10-05 19:40:13.284: E/AndroidRuntime(2697): at android.os.Looper.loop(Looper.java:137) 10-05 19:40:13.284: E/AndroidRuntime(2697): at android.app.ActivityThread.main(ActivityThread.java:5041) 10-05 19:40:13.284: E/AndroidRuntime(2697): at java.lang.reflect.Method.invokeNative(Native Method) 10-05 19:40:13.284: E/AndroidRuntime(2697): at java.lang.reflect.Method.invoke(Method.java:511) 10-05 19:40:13.284: E/AndroidRuntime(2697): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 10-05 19:40:13.284: E/AndroidRuntime(2697): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 10-05 19:40:13.284: E/AndroidRuntime(2697): at dalvik.system.NativeStart.main(Native Method) 10-05 19:40:13.284: E/AndroidRuntime(2697): Caused by: java.lang.NullPointerException 10-05 19:40:13.284: E/AndroidRuntime(2697): at cz.vongrad.locator.MapActivity.setUpMapIfNeeded(MapActivity.java:115) 10-05 19:40:13.284: E/AndroidRuntime(2697): at cz.vongrad.locator.MapActivity.onCreate(MapActivity.java:86) 10-05 19:40:13.284: E/AndroidRuntime(2697): at android.app.Activity.performCreate(Activity.java:5104) 10-05 19:40:13.284: E/AndroidRuntime(2697): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080) 10-05 19:40:13.284: E/AndroidRuntime(2697): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144) 10-05 19:40:13.284: E/AndroidRuntime(2697): ... 11 more </code></pre> <p>I would appreciate any suggestions. Thanks in advance!</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload