Hier ist mein Code:Android getActionBar vs getSupportActionBar?
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 getSupportActionBar() verwendet meine app mit kitkat und anderen neuen Versionen ganz gut läuft, aber getActionBar mit führt zu einem Fehler.
hier 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:
Caution: Be certain you import the ActionBar class (and related APIs) from the appropriate package:
If supporting API levels lower than 11: import android.support.v7.app.ActionBar
If supporting only API level 11 and higher: import android.app.ActionBar
Nun, warum diese App abstürzt?
Wenn Sie die Support-Bibliothek verwenden, sollten Sie die Methode 'getSupportActionBar()' weiterleiten. Welche Android-Version verwendest du zum Testen? – andrew
Kitkat auf meinem Handy. –