活动中的IllegalStateException Window.FEATURE_SUPPORT_ACTION_BAR

时间:2017-06-09 17:37:42

标签: android android-studio android-actionbar styles android-support-library

我正在使用Android支持库25.0.0并且一切运行良好,但是如果您安装了我的应用程序并升级到最新版本25.3.1,则某些设备会崩溃,似乎仅限于三星,HTC和One plus。堆栈跟踪是:

Caused by java.lang.IllegalStateException: This Activity already has an action bar supplied by the window decor. Do not request Window.FEATURE_SUPPORT_ACTION_BAR and set windowActionBar to false in your theme to use a Toolbar instead.
       at android.support.v7.app.AppCompatDelegateImplV9.setSupportActionBar(AppCompatDelegateImplV9.java:207)
       at android.support.v7.app.AppCompatActivity.setSupportActionBar(AppCompatActivity.java:130)

当我使用

时会发生这种情况
setSupportActionBar(toolbar);

我从Theme.AppCompat扩展,但是我扩展了这个主题,我覆盖了这个数据

<style name="MyTheme.NoActionBar" >
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
    </style>

问题是,在更新之前我没有关于这个主题的崩溃报告,在我更新之后,我在Crashlytics上遇到了这个崩溃。 感谢

1 个答案:

答案 0 :(得分:0)

  

尝试将此作为您应用的主题,并使用setSupportActionBar(toolbar);

在需要操作栏的工具栏中使用
 <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="colorControlNormal">@color/primary_light</item>
        <item name="android:textColorHint">@color/primary_light</item>

    </style>

删除此自定义主题

<style name="MyTheme.NoActionBar" >
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
    </style>