windowActionBar异常

时间:2015-11-12 16:53:09

标签: android toolbar illegalstateexception

我收到下一个例外:

Caused by: java.lang.IllegalStateException: This Activity already has an action bar supplied by the window decor. Do not request Window.FEATURE_ACTION_BAR and set windowActionBar to false in your theme to use a Toolbar instead.

我打电话时遇到异常:

 toolbar = (Toolbar) findViewById(R.id.toolbar_actionbar);
            setSupportActionBar(toolbar);

MainActivity从AppCompatActivity扩展而来。 我的应用程序风格:

<style name="AppBaseTheme" parent="@style/Theme.AppCompat.NoActionBar"></style>

<style name="AppTheme" parent="AppBaseTheme">
    <item name="android:selectableItemBackground">@drawable/selectable_items_color</item>
    <item name="colorPrimary">@color/myPrimaryColor</item>
    <item name="colorPrimaryDark">@color/myPrimaryDarkColor</item>
    <item name="colorAccent">@color/myAccentColor</item>
    <item name="android:textColorPrimary">@color/myTextPrimaryColor</item>
    <item name="android:textColorSecondary">@color/myTextPrimaryColor</item>
    <item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowFullscreen">true</item>
</style>

这是我的工具栏:

<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
    style="@style/ToolBarStyle"
    android:layout_width="match_parent"
    android:layout_height="@dimen/toolbar_height"
    android:background="@drawable/action_bar"
    android:minHeight="@dimen/toolbar_height">

工具栏样式:

<style name="ToolBarStyle" parent="">
    <item name="popupTheme">@style/ThemeOverlay.AppCompat.Light</item>
    <item name="theme">@style/ThemeOverlay.AppCompat.Dark.ActionBar</item>
</style>

2 个答案:

答案 0 :(得分:1)

尝试使用RecyclerView。由于异常读取&#34;请勿在主题中请求Window.FEATURE_ACTION_BAR并将windowActionBar设置为false以使用工具栏。&#34;表示您的主题未被应用。

只需将行<style name="AppBaseTheme" parent="Theme.AppCompat.NoActionBar"></style>添加到您的应用样式即可。希望它有所帮助

干杯

答案 1 :(得分:0)

您的工具栏没有 ID

添加您的ID并重试

<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
    style="@style/ToolBarStyle"
    android:id=”@+id/toolbar_actionbar”
    android:layout_width="match_parent"
    android:layout_height="@dimen/toolbar_height"
    android:background="@drawable/action_bar"
    android:minHeight="@dimen/toolbar_height">