Android - AppCompat不支持当前主题功能Error

问题描述 投票:0回答:4

我的应用程序工作正常,直到我删除了一些布局文件和活动。从那以后它出现了这个错误:

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>

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

android themes android-appcompat android-styles illegalargumentexception
4个回答
1
投票

试试这个

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

1
投票

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


0
投票

您正在使用哪个版本的AppCompat?

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

尝试将下一个标志添加到主题文件中:<item name="windowNoTitle">true</item>


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.