扩展类android.support.v7.widget.Toolbar时出错.我的错误或错误?

gia*_*200 8 android android-appcompat android-support-library android-studio android-styles

使用SDK 22预览时,我的所有布局都出现以下渲染问题.

扩展类android.support.v7.widget.Toolbar时出错.

java.lang.NoSuchFieldError:View_theme

就我而言,问题是styles.xml:

带渲染问题的XML:

<resources>

    <style name="AppBaseTheme" parent="Theme.AppCompat.Light.DarkActionBar" />
    <!-- Base application theme. -->
    <style name="AppTheme" parent="AppBaseTheme">
        <item name="colorPrimary">@color/primary</item>
        <item name="colorPrimaryDark">@color/primary_dark</item>
        <item name="colorAccent">@color/accent</item>
        <item name="android:textColorPrimary">@color/primary_text</item>
    </style>

</resources>
Run Code Online (Sandbox Code Playgroud)

XML没有问题:

<resources>

    <style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar" />
    <!-- Base application theme. -->
    <style name="AppTheme" parent="AppBaseTheme">
        <item name="colorPrimary">@color/primary</item>
        <item name="colorPrimaryDark">@color/primary_dark</item>
        <item name="colorAccent">@color/accent</item>
        <item name="android:textColorPrimary">@color/primary_text</item>
    </style>

</resources>
Run Code Online (Sandbox Code Playgroud)

请注意我必须添加@style/父引用.这似乎解决了我的问题(重建后).

问题,这是我的错误还是错误?很多教程都没说(包括官方Android页面)

摇篮:

compileSdkVersion 22
buildToolsVersion '22.0.1'
minSdkVersion 15
targetSdkVersion 22
classpath 'com.android.tools.build:gradle:1.1.0'
Run Code Online (Sandbox Code Playgroud)

最后注意:我没有使用工具栏.

Kus*_*rma 4

编辑 :

阅读另一个SO问题

如果您的活动扩展AppCompactActivity,您的父主题应该是

<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar" />
Run Code Online (Sandbox Code Playgroud)

其中,如果使用ActionBarActivity,主题应该是

<style name="AppBaseTheme" parent="Theme.AppCompat.Light.DarkActionBar" />
Run Code Online (Sandbox Code Playgroud)

我认为这种差异是故意的,而不是错误。如果我错了,请随时纠正我,因为我还无法从任何地方确认同样的情况。

老的 :

要将工具栏用作操作栏,您需要做的第一件事是禁用提供操作栏的装饰。最简单的方法是让您的主题从 Theme.AppCompat.NoActionBar (或轻型变体)扩展。

使用 :

<style name="AppBaseTheme" parent="Theme.AppCompat.Light.NoActionBar" />
Run Code Online (Sandbox Code Playgroud)

来自这篇文章。