getActionBar()空指针异常

网上的各种解决方案已经不少了,但是不适合于我的,谷歌一种新的解决方案

  

you can directly specify it in manifest file

1
2
3
4
<application
        android:icon="@drawable/app_icon"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.Holo.Light" >

There are 3 themes available Theme.Holo.Light/Theme.Holo.Dark/Theme.Holo.Light.DarkActionBar.

Theme.Holo.Light requires API level >=11 while Theme.Holo.Dark/Theme.Holo.Light.DarkActionBar requires API level >= 14

If you want to change themes according to API level, you can specify a base appTheme, and override it in style files

getActionBar()空指针异常

1
2
3
4
<application
        android:icon="@drawable/app_icon"
        android:label="@string/app_name"
        android:theme="@style/appTheme" >

values/styles.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<resources>
 
    <!--
        Base application theme, dependent on API level.
    -->
    <style name="AppBaseTheme" parent="android:Theme.Light">
    
    </style>
 
 
    <style name="AppTheme" parent="AppBaseTheme">
        
    </style>
</resources>

values-v14/styles.xml

1
2
3
4
5
6
7
8
9
10
11
<resources>
 
    <!--
        Base application theme for API 14+. This theme completely replaces
        AppBaseTheme
    -->
    <style name="AppBaseTheme" parent="android:Theme.Holo.Light.DarkActionBar">
        
    </style>
 
</resources>

If you want a consistent theme while maintain compatibility with lower API levels, look at what these people are doing op

The second solution is to request ActionBar feature manually instead making the theme do it for you. I am too lazy to try it myself. This link explain it pretty well. op

上一篇:【phpcms-v9】如何实现在含有子栏目的栏目下添加内容?


下一篇:VNC 在ubuntu desktop下只显示空白桌面