Android getSupportActionBar()在使用appcompat-v7 22.2.1或更新版本时引发NPE
我有一个应用程序使用values/styles.xml中的以下主主题Android getSupportActionBar()在使用appcompat-v7 22.2.1或更新版本时引发NPE,android,android-actionbar-compat,android-appcompat,Android,Android Actionbar Compat,Android Appcompat,我有一个应用程序使用values/styles.xml中的以下主主题 <style name="AppTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar"> <item name="actionBarStyle">@style/MyActionBar</item> <item name="actionBarTabStyle">@style/ActionBarTabStyle.E
<style name="AppTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">
<item name="actionBarStyle">@style/MyActionBar</item>
<item name="actionBarTabStyle">@style/ActionBarTabStyle.Example</item>
<item name="actionBarTabTextStyle">@style/tabtextcolor</item>
<item name="colorPrimary">@color/primary_blue</item>
<item name="colorPrimaryDark">@color/primary_darker_blue</item>
<item name="android:windowContentOverlay">@null</item>
<item name="colorAccent">@color/primary_blue</item>
</style>
<style name="MyActionBar" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<item name="windowActionBar">true</item>
<item name="windowNoTitle">false</item>
<item name="background">@color/primary_blue</item>
<item name="backgroundStacked">@android:color/white</item>
<item name="backgroundSplit">@color/primary_blue</item>
<item name="icon">@android:color/transparent</item>
<item name="popupMenuStyle">@style/PopupMenu.Example</item>
<item name="android:titleTextStyle">@style/Widget.Carrental.TitleTextStyle</item>
<item name="titleTextStyle">@style/Widget.Carrental.TitleTextStyle</item>
</style>
<style name="Widget.Carrental.TitleTextStyle" parent="@android:style/Widget.TextView">
<item name="android:textSize">20sp</item>
<item name="android:textColor">@android:color/white</item>
<item name="android:alpha">1</item>
</style>
<style name="tabtextcolor" parent="@style/Widget.AppCompat.ActionBar.TabText">
<item name="android:textColor">@android:color/black</item>
</style>
<style name="ActionBarTabStyle.Example" parent="@style/Widget.AppCompat.ActionBar.TabView">
<item name="android:background">@drawable/tab_indicator_ab_example</item>
</style>
<style name="AppTheme" parent="AppTheme.Base">
<item name="android:windowContentTransitions">true</item>
<item name="android:windowAllowEnterTransitionOverlap">true</item>
<item name="android:windowAllowReturnTransitionOverlap">true</item>
<item name="android:windowSharedElementEnterTransition">@android:transition/move</item>
<item name="android:windowSharedElementExitTransition">@android:transition/move</item>
</style>
<style name="AppTheme.Transparent" parent="AppTheme.Transparent.Base">
<item name="android:statusBarColor">@android:color/transparent</item>
</style>
这是NPE
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v7.app.ActionBar.hide()' on a null object reference
我确保所有的活动类都扩展了AppCompatActivity,但我仍然得到了相同的NPE。然后我对依赖项库主题中的以下字段进行了注释
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
我想,如果你
<item name="windowActionBar">false</item>
false
您需要设置支持操作栏(uToolbar)。
若你们不能使用工具栏,你们可以试试
<item name="windowActionBar">true</item>
true
我已经尝试添加true
。我还注释掉了依赖项库中的两个字段,但这导致出现AppCompatDelegate
消息
I/AppCompatDelegate: The Activity's LayoutInflater already has a Factory installed so we can not install AppCompat's
<item name="windowActionBar">false</item>
<item name="windowActionBar">true</item>