Android getActionBar() 为null解决方案
2015-07-30 23:28
489 查看
这段时间坐demo的时候,actionbar报nullpointerexception.后来我花时间去整理了一下,报这个异常的几个原因:
一、ActionBar 的主题Theme
二、res 目录下的 values
三,检查你导入的包
四、检查activity代码
五、检查支持版本
如果再不行的话,可能就是你的actionBar哪里写错了,这里我朋友建议我看了一篇博客,关于自定义actionBar的博客http://www.tuicool.com/articles/7BJBZb
如果大家有其他的有关 getActionBar() 为null的问题,方法和经验,欢迎讨论交流。
一、ActionBar 的主题Theme
检查你的应用是否设置了没有 ActionBar 的主题Theme,或者直接设置了 NoActionBar或NoTitleBar 属性,主要要检查这几点:检查 AndroidManifest.xml 中的 标签中的theme属性,然后检查各个 Activity 标签中是否有不同的 Theme 导致这个界面的 ActionBar 无法显示,@android:style/Theme.NoTitleBar和<item name="windowActionBar">false</item> <item name="android:windowNoTitle">true</item>这样的属性都会使应用中的 ActionBar消失,切记,如果你要使用ActionBar,则一定要清除掉这些
二、res 目录下的 values
如果你的项目中 res 目录下除了 values 目录外,还有其他的res/values-v11,style/values-v14等,则这些目录中的 styles.xml 都需要检查一下
三,检查你导入的包
不要把android.app.ActionBar和android.support.v7.app.ActionBar混淆了
四、检查activity代码
Activity 代码中是否动态设置了全屏或者不显示TitleBar,代码如下: //requestWindowFeature(Window.FEATURE_NO_TITLE); //getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
五、检查支持版本
如果你的项目使用的是 android.app.ActionBar,则需要把你应用的最低支持版本改为11(Android 3.0),使用 getActionBar() 来获取ActionBar,如果你的项目要支持Android 3.0以下,则你的项目需要引入最新的 AppCompat 兼容包,然后将 ActionBar引用改为 android.support.v7.app.ActionBar,并使用 getSupportActionBar 来获取 ActionBar
如果再不行的话,可能就是你的actionBar哪里写错了,这里我朋友建议我看了一篇博客,关于自定义actionBar的博客http://www.tuicool.com/articles/7BJBZb
如果大家有其他的有关 getActionBar() 为null的问题,方法和经验,欢迎讨论交流。
相关文章推荐
- Android Fragment数据保存问题
- Android的SQLite数据库存储
- DialogFragment 使用与友好交互
- Android 布局自定义Shap圆形ImageView,可以单独设置背景与图片
- 一个优秀的Android应用从建项目开始
- Android 图片上传(头像裁切+原图原样)
- Android开发基础之AlertDialog的单选对话框的使用
- Android蓝牙串口通信模板及demo,trick
- 《Android软件安全与逆向分析》 signapk.jar签名apk工具--【整理学习分享,一部到位!】
- Android 百分比布局库(percent-support-lib) 解析与扩展
- Android开发基础之动态添加菜单项
- Android基础知识之四大组件Activity(二)一个Activity的生命周期?
- Android开发之两种方式实现连续点击两次返回键退出程序
- android 定时器的使用
- android 定时器的使用
- android 定时器的使用
- android 定时器的使用
- Android开发基础之菜单键的使用
- android 定时器的使用
- android 定时器的使用