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");}
在使用getSupportActionbar()时,我的应用程序与kitkat和其他新版本运行良好,但使用getActionbar导致错误.
这是错误:
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.access0(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
为什么?来自androID文档:
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.ActionbarIf supporting only API level
11 and higher: import androID.app.Actionbar
现在为什么这个应用程序崩溃了?
解决方法 如果您正在使用AppCompat,无论您的应用程序运行的是哪个AndroID版本,您都必须调用getSupportActionbar().您定位的是哪个AndroID版本?
我建议你使用新的Toolbar而不是Actionbar,因为它的使用方式更灵活.
总结以上是内存溢出为你收集整理的Android getActionBar vs getSupportActionBar?全部内容,希望文章能够帮你解决Android getActionBar vs getSupportActionBar?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)