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 :
Et voici mon code java :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
J’espère que vous saurez m'aider .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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) { } }
Merci d'avance.
Partager