【问题标题】:Android - AppCompat does not support the current theme features ErrorAndroid - AppCompat 不支持当前主题功能错误
【发布时间】:2016-04-14 08:42:14
【问题描述】:

在我删除了一些布局文件和活动之前,我的应用运行良好。从那时起它显示此错误:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.skaprer.jope/com.skaprer.jope.Controllers.LoaderActivity}: java.lang.IllegalArgumentException: AppCompat does not support the current theme features: { windowActionBar: false, windowActionBarOverlay: false, android:windowIsFloating: false, windowActionModeOverlay: false, windowNoTitle: false }
                                                                at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416)
                                                                at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
                                                                at android.app.ActivityThread.-wrap11(ActivityThread.java)
                                                                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
                                                                at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                at android.os.Looper.loop(Looper.java:148)
                                                                at android.app.ActivityThread.main(ActivityThread.java:5417)
                                                                at java.lang.reflect.Method.invoke(Native Method)
                                                                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
                                                                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
                                                             Caused by: java.lang.IllegalArgumentException: AppCompat does not support the current theme features: { windowActionBar: false, windowActionBarOverlay: false, android:windowIsFloating: false, windowActionModeOverlay: false, windowNoTitle: false }
                                                                at android.support.v7.app.AppCompatDelegateImplV7.createSubDecor(AppCompatDelegateImplV7.java:422)
                                                                at android.support.v7.app.AppCompatDelegateImplV7.ensureSubDecor(AppCompatDelegateImplV7.java:279)
                                                                at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:253)
                                                                at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:109)
                                                                at com.skaprer.jope.Controllers.LoaderActivity.onCreate(LoaderActivity.java:39)
                                                                at android.app.Activity.performCreate(Activity.java:6251)
                                                                at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
                                                                at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)
                                                                at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 
                                                                at android.app.ActivityThread.-wrap11(ActivityThread.java) 
                                                                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 
                                                                at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                at android.os.Looper.loop(Looper.java:148) 
                                                                at android.app.ActivityThread.main(ActivityThread.java:5417) 
                                                                at java.lang.reflect.Method.invoke(Native Method) 
                                                                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
                                                                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 

发生错误的我的 LoaderActivity 文件:

 @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    TwitterAuthConfig authConfig = new TwitterAuthConfig(TWITTER_KEY, TWITTER_SECRET);
    Fabric.with(this, new Crashlytics(), new TwitterCore(authConfig), new Digits());
    setContentView(R.layout.activity_loader);
}

主题文件:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimary">@color/primary_color</item>
    <item name="colorPrimaryDark">@color/primary_dark_color</item>
    <item name="colorAccent">@color/accent_color</item>
</style>

v21:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimary">@color/primary_color</item>
    <item name="colorPrimaryDark">@color/primary_dark_color</item>
    <item name="colorAccent">@color/accent_color</item>
    <item name="android:navigationBarColor">#212121</item>
    <item name="android:windowContentTransitions">true</item>
</style>

自从更改后,应用程序无法启动。我尝试更改意图过滤器以启动不同的活动以检查错误是否特定于活动,但是对于我尝试的每个活动,错误仍然存​​在。我该怎么办?

【问题讨论】:

  • 你也可以发布清单吗?

标签: android themes android-appcompat android-styles illegalargumentexception


【解决方案1】:

由于最近的 Android Studio 2.0 更新,这是一个错误,IDE 只为更改的部分重建应用程序,而不是重建整个应用程序。所以我只是清理并重建它,从设备上卸载应用程序然后运行它。它奏效了。

【讨论】:

    【解决方案2】:

    试试这个

    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
    

    【讨论】:

      【解决方案3】:

      您使用的是什么版本的 AppCompat?

      这可能是因为 AppCompat 现在对主题窗口标志的期望更加严格。

      尝试将下一个标志添加到您的主题文件中: &lt;item name="windowNoTitle"&gt;true&lt;/item&gt;

      【讨论】:

      • com.android.support:appcompat-v7:23.1.1
      • 我添加了windowNoTitle,仍然显示同样的错误,在错误中它说windowNoTitle: false as the current theme features
      • 您的活动使用哪个主题?如果您也发布清单会更好。两个主题文件都添加了 windowNoTitle 吗?
      • 您还有其他主题吗?尝试重命名您的主题,显然这也可能是一个问题。并确保您没有在清单或代码中为活动设置任何主题。
      【解决方案4】:

      只需执行“干净”任务一直在解决我的问题。似乎又是这些奇怪的 Android Studio 错误之一。

      【讨论】:

        猜你喜欢
        • 2015-08-20
        • 1970-01-01
        • 1970-01-01
        • 2017-08-07
        • 2018-01-20
        • 2015-11-16
        • 2017-12-08
        • 2015-06-29
        相关资源
        最近更新 更多