Android getActionBar vs getSupportActionBar?

Hier ist mein code:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB){

    //android.support.v7.app.ActionBar actionBar = getSupportActionBar();
    //actionBar.setTitle("Android");

    ActionBar actionBar = getActionBar();
    actionBar.setTitle("Droid");
}

Während der Verwendung der getSupportActionBar() meine app läuft einwandfrei mit kitkat und anderen neuen Versionen, aber mit getActionBar Ergebnisse in eine Fehlermeldung.

Hier ist der Fehler:

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.app.ActionBar.hide()' on a null object reference
            at com.github.domain.geoquiz.QuizActivity.onCreate(QuizActivity.java:57)
            at android.app.Activity.performCreate(Activity.java:5933)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
            at android.app.ActivityThread.access$800(ActivityThread.java:144)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5221)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372

Warum? Von android-Dokumentationen :

Achtung: vergewissern Sie Sich, importieren Sie das ActionBar-Klasse (und die zugehörigen APIs)
aus dem entsprechenden Paket:

Wenn die Unterstützung API-Stufen niedriger als die 11:
importieren android.Unterstützung.v7.app.ActionBar

Wenn die Unterstützung nur API-Ebene
11 und höher: import android.app.ActionBar

Nun, warum diese app abstürzt?

wenn Sie verwenden der support-Bibliothek, die Sie sollten die relais auf getSupportActionBar() Methode. Welche android-version verwendest du zum testen?
Kitkat auf meinem Handy.

InformationsquelleAutor Amit Tripathi | 2015-01-17

Schreibe einen Kommentar