getMap () in onCreate (), erstellt aus layout, gibt nullpointerexception
Dies ist mein Code:
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.SupportMapFragment;
Innerhalb der onCreate () -Methode: (Ich habe nur diese bei onCreate (), abgesehen von der Erstellung eines Bundles und der Zuordnung von Variablen, die dieses Bundle verwenden.)
FragmentManager myFM = getSupportFragmentManager();
SupportMapFragment myMAPF =(SupportMapFragment)myFM.
findFragmentById(R.id.mapfragment);
map=myMAPF.getMap();//Exception at this line
Layout:
<fragment
android:id="@+id/mapfragment"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/button"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true" />
Manifest:
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="myapikey" />
Ich muss erwähnen, dass ich beim Generieren des API-Schlüssels die Datei debug.keystore kopiert und an einem günstigeren Ort gespeichert und dann generiert habe. Ich habe es noch einmal mit der Originaldatei am ursprünglichen Speicherort gemacht und dieselbe SH1 zurückgegeben, sodass ich keinen weiteren API-Schlüssel generiert habe. Habe den Interruptor auf der API Access Seite aktiviert.
Ich habe einige Antworten gesehen, die dasselbe fragten, und ich habe viele ihrer Lösungen ausprobiert ... ohne Glück.
Ich führe die App auf einem Gerät mit Android-Version 4.0 über USB von Eclipse aus.
Kann mir jemand helfen, wo der Fehler liegt? Vielen Dank.
BEARBEITEN
Sorry, habe die StackTrace vergessen
10-23 13:54:53.230: E/AndroidRuntime(6786): java.lang.RuntimeException: Unable to start activity ComponentInfo{mypackage/mypackage.MapActivity}: java.lang.NullPointerException
10-23 13:54:53.230: E/AndroidRuntime(6786): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956)
10-23 13:54:53.230: E/AndroidRuntime(6786): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
10-23 13:54:53.230: E/AndroidRuntime(6786): at android.app.ActivityThread.access$600(ActivityThread.java:123)
10-23 13:54:53.230: E/AndroidRuntime(6786): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
10-23 13:54:53.230: E/AndroidRuntime(6786): at android.os.Handler.dispatchMessage(Handler.java:99)
10-23 13:54:53.230: E/AndroidRuntime(6786): at android.os.Looper.loop(Looper.java:137)
10-23 13:54:53.230: E/AndroidRuntime(6786): at android.app.ActivityThread.main(ActivityThread.java:4424)
10-23 13:54:53.230: E/AndroidRuntime(6786): at java.lang.reflect.Method.invokeNative(Native Method)
10-23 13:54:53.230: E/AndroidRuntime(6786): at java.lang.reflect.Method.invoke(Method.java:511)
10-23 13:54:53.230: E/AndroidRuntime(6786): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:817)
10-23 13:54:53.230: E/AndroidRuntime(6786): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:584)
10-23 13:54:53.230: E/AndroidRuntime(6786): at dalvik.system.NativeStart.main(Native Method)
10-23 13:54:53.230: E/AndroidRuntime(6786): Caused by: java.lang.NullPointerException
10-23 13:54:53.230: E/AndroidRuntime(6786): at mypackage.MapActivity.onCreate(MapActivity.java:73)
10-23 13:54:53.230: E/AndroidRuntime(6786): at android.app.Activity.performCreate(Activity.java:4470)
10-23 13:54:53.230: E/AndroidRuntime(6786): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
10-23 13:54:53.230: E/AndroidRuntime(6786): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)
Mir ist gerade eine seltsame Sache aufgefallen, in der ersten Zeile des Stacktrace steckt das doppelte Paket meiner App ... warum passiert das?