GetActionBar () возвращает значение null после обновления SDK до 5.0

После того, как я обновил Android SDK до версии 5.0, метод getActionBar () начал возвращать null, что привело к сбою моего приложения при запуске. Я не знаю, что вызывает это, и любые существующие потоки Stackoverflow не помогли.

Вот мой манифест:

<application android:name="App" android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/ActionBarTheme" > 

styles.xml:

 <style name="AppBaseTheme" parent="Theme.AppCompat.Light"></style> <!-- Application theme. --> <style name="AppTheme" parent="AppBaseTheme"></style> <style name="ListItemPadding"> <item name="android:paddingTop">8dp</item> <item name="android:paddingRight">5dp</item> <item name="android:paddingBottom">8dp</item> <item name="android:paddingLeft">5dp</item> </style> 

themes.xml:

 <?xml version="1.0" encoding="utf-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android"> <!-- the theme applied to the application or activity --> <style name="ActionBarTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar"> <item name="android:actionBarStyle">@style/ActionBar</item> <item name="android:actionOverflowButtonStyle">@style/OverflowButton</item> <!-- Support library compatibility --> <item name="actionBarStyle">@style/ActionBar</item> <item name="actionOverflowButtonStyle">@style/OverflowButton</item> </style> <style name="OverflowButton" parent="android:style/Widget.Holo.ActionButton.Overflow"> <item name="android:src">@drawable/menu</item> </style> <!-- ActionBar styles --> <style name="ActionBar" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse"> <item name="android:background">@color/main</item> <!-- Support library compatibility --> <item name="background">@color/main</item> </style> </resources> 

И мои зависимости градиента:

 dependencies { compile 'com.github.jenzz.undobar:library:1.1:api8Release@aar' compile 'com.android.support:support-v4:21.0.0' compile 'com.android.support:appcompat-v7:21.0.0' compile 'com.loopj.android:android-async-http:1.4.5' compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.3' compile 'com.google.android.gms:play-services:6.1.+' } 

Любая помощь очень ценится!

Используйте getSupportActionBar() когда вы используете ActionBarActivity и appcompat-v7 , как вы, кажется, здесь делаете.

Я просто наткнулся на это сам. Не использовать AppCompat не всегда может быть решением, особенно если вы намерены его использовать. Поэтому, если вы используете AppCompatActivity, попробуйте вставить это в свой layout.xml:

 <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:layout_alignParentTop="true" android:background="?attr/colorPrimary"/> 

Затем вы можете использовать getSupportActionBar ().