getMap () w onCreate (), utworzony z layoutu, daje wyjątek nullpointerexception

To mój kod:

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;

Wewnątrz metody onCreate (): (Mam tylko to w onCreate (), poza tworzeniem pakietów i przypisaniem zmiennych, używając tego pakietu).

FragmentManager myFM = getSupportFragmentManager();
SupportMapFragment myMAPF =(SupportMapFragment)myFM.
      findFragmentById(R.id.mapfragment);
map=myMAPF.getMap();//Exception at this line

Układ:

<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" />

Oczywisty:

<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="myapikey" />

Muszę wspomnieć, że kiedy wygenerowałem klucz api, skopiowałem plik debug.keystore i zapisałem go w wygodniejszej lokalizacji, a następnie wygenerowałem. Zrobiłem to ponownie z oryginalnym plikiem w oryginalnej lokalizacji i zwróciłem jednakową SH1, więc nie wygenerowałem innego klucza API. Aktywowano przerywacz na stronie Dostęp do API.

Widziałem już wcześniej odpowiedź, zadającą to samo, i wypróbowałem wiele ich rozwiązań ... bez szczęścia.

Używam aplikacji na urządzeniu z Androidem w wersji 4.0, przez USB, z Eclipse.

Ktoś może mi pomóc znaleźć błąd? Dziękuję Ci.

EDYTOWAĆ

Przepraszamy, zapomniałem StackTrace

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)

Właśnie zauważyłem dziwną rzecz, w pierwszym wierszu stacktrace umieszcza dwa razy pełny pakiet mojej aplikacji ... dlaczego tak się dzieje?

questionAnswers(1)

yourAnswerToTheQuestion