Note that there are some explanatory texts on larger screens.

plurals
  1. POError on start activity (NullPointerException) on Android Development
    text
    copied!<p><strong>Problem:</strong> Fail to start activity on button click from MainActiviy > MapActivity.</p> <p><strong>P/s:</strong> I following this map tutorial and changing the class name and copy all the elements to my project workspace. <a href="http://karnshah8890.blogspot.in/2013/03/google-places-api-tutorial.html" rel="nofollow">This Tutorial</a></p> <p><strong>Button listener</strong></p> <pre><code>public void onClick(View v) { Intent intent = new Intent(getApplicationContext(), MapActivity.class); startActivity(intent);} </code></pre> <p><strong>Logcat:</strong></p> <pre><code>07-31 02:22:58.267: E/AndroidRuntime(20784): FATAL EXCEPTION: main 07-31 02:22:58.267: E/AndroidRuntime(20784): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.fa.financeassistant/com.fa.financeassistant.MapActivity}: java.lang.NullPointerException 07-31 02:22:58.267: E/AndroidRuntime(20784): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2308) 07-31 02:22:58.267: E/AndroidRuntime(20784): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2358) 07-31 02:22:58.267: E/AndroidRuntime(20784): at android.app.ActivityThread.access$600(ActivityThread.java:153) 07-31 02:22:58.267: E/AndroidRuntime(20784): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1247) 07-31 02:22:58.267: E/AndroidRuntime(20784): at android.os.Handler.dispatchMessage(Handler.java:99) 07-31 02:22:58.267: E/AndroidRuntime(20784): at android.os.Looper.loop(Looper.java:137) 07-31 02:22:58.267: E/AndroidRuntime(20784): at android.app.ActivityThread.main(ActivityThread.java:5227) 07-31 02:22:58.267: E/AndroidRuntime(20784): at java.lang.reflect.Method.invokeNative(Native Method) 07-31 02:22:58.267: E/AndroidRuntime(20784): at java.lang.reflect.Method.invoke(Method.java:511) 07-31 02:22:58.267: E/AndroidRuntime(20784): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795) 07-31 02:22:58.267: E/AndroidRuntime(20784): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:562) 07-31 02:22:58.267: E/AndroidRuntime(20784): at dalvik.system.NativeStart.main(Native Method) 07-31 02:22:58.267: E/AndroidRuntime(20784): Caused by: java.lang.NullPointerException 07-31 02:22:58.267: E/AndroidRuntime(20784): at com.fa.financeassistant.MapActivity.onCreate(MapActivity.java:46) 07-31 02:22:58.267: E/AndroidRuntime(20784): at android.app.Activity.performCreate(Activity.java:5104) 07-31 02:22:58.267: E/AndroidRuntime(20784): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080) 07-31 02:22:58.267: E/AndroidRuntime(20784): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2262) 07-31 02:22:58.267: E/AndroidRuntime(20784): ... 11 more </code></pre> <p><strong>My MapActivity Class</strong></p> <pre><code>package com.fa.financeassistant; import java.util.ArrayList; import android.R.array; import android.app.ActionBar; import android.app.Activity; import android.app.ProgressDialog; import android.content.Context; import android.location.Criteria; import android.location.Location; import android.location.LocationListener; import android.location.LocationManager; import android.os.AsyncTask; import android.os.Bundle; import android.util.Log; import android.view.Menu; import android.widget.ArrayAdapter; import com.google.android.gms.maps.CameraUpdateFactory; import com.google.android.gms.maps.GoogleMap; import com.google.android.gms.maps.MapFragment; import com.google.android.gms.maps.model.BitmapDescriptorFactory; import com.google.android.gms.maps.model.CameraPosition; import com.google.android.gms.maps.model.LatLng; import com.google.android.gms.maps.model.MarkerOptions; public class MapActivity extends Activity { private final String TAG = getClass().getSimpleName(); private GoogleMap mMap; private String[] places; private LocationManager locationManager; private Location loc; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.mapactivity); initCompo(); places = getResources().getStringArray(R.array.places); currentLocation(); final ActionBar actionBar = getActionBar(); actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST); actionBar.setListNavigationCallbacks(ArrayAdapter.createFromResource( this, R.array.places, android.R.layout.simple_list_item_1), new ActionBar.OnNavigationListener() { @Override public boolean onNavigationItemSelected(int itemPosition, long itemId) { Log.e(TAG, places[itemPosition].toLowerCase().replace("-", "_")); if (loc != null) { mMap.clear(); new GetPlaces(MapActivity.this, places[itemPosition].toLowerCase().replace( "-", "_").replace(" ", "_")).execute(); } return true; } }); } private class GetPlaces extends AsyncTask&lt;Void, Void, ArrayList&lt;Place&gt;&gt; { private ProgressDialog dialog; private Context context; private String places; public GetPlaces(Context context, String places) { this.context = context; this.places = places; } @Override protected void onPostExecute(ArrayList&lt;Place&gt; result) { super.onPostExecute(result); if (dialog.isShowing()) { dialog.dismiss(); } for (int i = 0; i &lt; result.size(); i++) { mMap.addMarker(new MarkerOptions() .title(result.get(i).getName()) .position( new LatLng(result.get(i).getLatitude(), result .get(i).getLongitude())) .icon(BitmapDescriptorFactory .fromResource(R.drawable.pin)) .snippet(result.get(i).getVicinity())); } CameraPosition cameraPosition = new CameraPosition.Builder() .target(new LatLng(result.get(0).getLatitude(), result .get(0).getLongitude())) // Sets the center of the map to // Mountain View .zoom(14) // Sets the zoom .tilt(30) // Sets the tilt of the camera to 30 degrees .build(); // Creates a CameraPosition from the builder mMap.animateCamera(CameraUpdateFactory .newCameraPosition(cameraPosition)); } @Override protected void onPreExecute() { super.onPreExecute(); dialog = new ProgressDialog(context); dialog.setCancelable(false); dialog.setMessage("Loading"); dialog.isIndeterminate(); dialog.show(); } @Override protected ArrayList&lt;Place&gt; doInBackground(Void... arg0) { PlacesService service = new PlacesService( "AIzaSyBquLw9vJPDHAZO8kzKw6ft0bPxsgBmblg"); ArrayList&lt;Place&gt; findPlaces = service.findPlaces(loc.getLatitude(), // 28.632808 loc.getLongitude(), places); // 77.218276 for (int i = 0; i &lt; findPlaces.size(); i++) { Place placeDetail = findPlaces.get(i); Log.e(TAG, "places : " + placeDetail.getName()); } return findPlaces; } } private void initCompo() { mMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)) .getMap(); } private void currentLocation() { locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); String provider = locationManager .getBestProvider(new Criteria(), false); Location location = locationManager.getLastKnownLocation(provider); if (location == null) { locationManager.requestLocationUpdates(provider, 0, 0, listener); } else { loc = location; new GetPlaces(MapActivity.this, places[0].toLowerCase().replace( "-", "_")).execute(); Log.e(TAG, "location : " + location); } } private LocationListener listener = new LocationListener() { @Override public void onStatusChanged(String provider, int status, Bundle extras) { } @Override public void onProviderEnabled(String provider) { } @Override public void onProviderDisabled(String provider) { } @Override public void onLocationChanged(Location location) { Log.e(TAG, "location update : " + location); loc = location; locationManager.removeUpdates(listener); } }; } </code></pre> <p><strong>SOLUTION:</strong> Other than from the answer given below. I apply a quick fix by removing this line and work like a charm! Thanks to all who helped me. Have a nice day :)</p> <pre><code>android:theme="@style/Theme.NoTitle" </code></pre>
 

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