Problème : Null Pointer Exception
Bonjour à tous,
Je m'en viens ici car j'ai un problème assez urgent que je n'arrive pas à régler.
Je développe actuellement une appli qui sert à se géolocaliser, jusque la grâce à un tuto j'y suis parvenue facilement. Ensuite j'ai voulu rajouter un fragment à gauche de ma fenêtre principale.
Au moment de compiler, j'ai le message d'erreur me disant :
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.explorer/com.example.explorer.MainActivity}: java.lang.NullPointerException
Et je n'arrive pas à trouver d'où peut venir cette erreur :?.
Voici le LogCat complet :
Citation:
08-31 23:33:51.895: E/AndroidRuntime(3665): FATAL EXCEPTION: main
08-31 23:33:51.895: E/AndroidRuntime(3665): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.explorer/com.example.explorer.MainActivity}: java.lang.NullPointerException
08-31 23:33:51.895: E/AndroidRuntime(3665): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2295)
08-31 23:33:51.895: E/AndroidRuntime(3665): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2349)
08-31 23:33:51.895: E/AndroidRuntime(3665): at android.app.ActivityThread.access$700(ActivityThread.java:159)
08-31 23:33:51.895: E/AndroidRuntime(3665): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1316)
08-31 23:33:51.895: E/AndroidRuntime(3665): at android.os.Handler.dispatchMessage(Handler.java:99)
08-31 23:33:51.895: E/AndroidRuntime(3665): at android.os.Looper.loop(Looper.java:176)
08-31 23:33:51.895: E/AndroidRuntime(3665): at android.app.ActivityThread.main(ActivityThread.java:5419)
08-31 23:33:51.895: E/AndroidRuntime(3665): at java.lang.reflect.Method.invokeNative(Native Method)
08-31 23:33:51.895: E/AndroidRuntime(3665): at java.lang.reflect.Method.invoke(Method.java:525)
08-31 23:33:51.895: E/AndroidRuntime(3665): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046)
08-31 23:33:51.895: E/AndroidRuntime(3665): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862)
08-31 23:33:51.895: E/AndroidRuntime(3665): at dalvik.system.NativeStart.main(Native Method)
08-31 23:33:51.895: E/AndroidRuntime(3665): Caused by: java.lang.NullPointerException
08-31 23:33:51.895: E/AndroidRuntime(3665): at com.example.explorer.MainActivity.onCreate(MainActivity.java:63)
08-31 23:33:51.895: E/AndroidRuntime(3665): at android.app.Activity.performCreate(Activity.java:5372)
08-31 23:33:51.895: E/AndroidRuntime(3665): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1104)
08-31 23:33:51.895: E/AndroidRuntime(3665): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2257)
08-31 23:33:51.895: E/AndroidRuntime(3665): ... 11 more
Et voici mon code java :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117
| package com.example.explorer;
import java.util.List;
import java.util.Vector;
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.LatLng;
import com.google.android.gms.maps.model.Marker;
import com.google.android.gms.maps.model.MarkerOptions;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.View;
import android.widget.Toast;
public class MainActivity extends FragmentActivity implements LocationListener{
private PagerAdapter mPagerAdapter;
private LocationManager locationManager;
private GoogleMap gMap;
private Marker marker;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setContentView(R.layout.viewpager);
List<Fragment> fragments = new Vector<Fragment>();
fragments.add(Fragment.instantiate(this,PageGaucheFragment.class.getName()));
this.mPagerAdapter = new MyPageAdapter(super.getSupportFragmentManager(), fragments) {
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return false;
}
@Override
public int getCount() {
return 0;
}
};
ViewPager pager = (ViewPager) super.findViewById(R.id.viewpager);
pager.setAdapter(this.mPagerAdapter);
gMap = ((MapFragment)getFragmentManager().findFragmentById(R.id.map)).getMap();
marker = gMap.addMarker(new MarkerOptions().title("Vous êtes ici").position(new LatLng(0, 0)));
}
@Override
public void onResume() {
super.onResume();
locationManager = (LocationManager) this.getSystemService(LOCATION_SERVICE);
if(locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
abonnementGPS();
}
}
@Override
public void onPause() {
super.onPause();
desabonnementGPS();
}
public void abonnementGPS() {
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 5000, 10, this);
}
public void desabonnementGPS() {
locationManager.removeUpdates(this);
}
@Override
public void onLocationChanged(final Location location) {
final StringBuilder msg = new StringBuilder("lat : ");
msg.append(location.getLatitude());
msg.append( "; lng : ");
msg.append(location.getLongitude());
Toast.makeText(this, msg.toString(), Toast.LENGTH_SHORT).show();
gMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(location.getLatitude(), location.getLongitude()), 15));
marker.setPosition(new LatLng(location.getLatitude(), location.getLongitude()));
}
@Override
public void onProviderDisabled(final String provider) {
if("gps".equals(provider)) {
desabonnementGPS();
}
}
@Override
public void onProviderEnabled(final String provider) {
if("gps".equals(provider)) {
abonnementGPS();
}
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
} |
J’espère que vous saurez m'aider :?.
Merci d'avance.