java.lang.IllegalArgumentException:AppCompat不支持当前的主题功能

Ada*_*gyi 107 java eclipse android android-studio

我试图将项目从Eclipse迁移到Android工作室.最后我能够运行它,但在某个时刻我得到了这个例外,我在谷歌中没有发现这个:

04-22 00:08:15.484    9891-9891/hu.illion.kwindoo E/AndroidRuntime? FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{hu.illion.kwindoo/hu.illion.kwindoo.activity.MainActivity}: java.lang.IllegalArgumentException: AppCompat does not support the current theme features
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2092)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2117)
    ...    
Caused by: java.lang.IllegalArgumentException: AppCompat does not support the current theme features
    at android.support.v7.app.AppCompatDelegateImplV7.ensureSubDecor(AppCompatDelegateImplV7.java:360)
    at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:246)
    at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:106)
    at hu.illion.kwindoo.activity.MainActivity.onCreate(MainActivity.java:73)
    at android.app.Activity.performCreate(Activity.java:5047)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2056)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2117)
    ...
Run Code Online (Sandbox Code Playgroud)

73. MainActivity的行是:

setContentView(R.layout.activity_main);
Run Code Online (Sandbox Code Playgroud)

如果可以,请告诉我.

Ste*_*tes 226

替代@ sbaar的答案,

保持windowActionBarfalse并加入windowNoTitle以及和它设置为true.

   <item name="windowActionBar">false</item>
   <item name="windowNoTitle">true</item>
Run Code Online (Sandbox Code Playgroud)

  • 这个答案对我不起作用.只有@sbaar的答案有效.您的主题应继承自:Theme.AppCompat.NoActionBar以及:<item name ="windowActionBar"> false </ item>和<item name ="windowNoTitle"> true </ item> (5认同)
  • 今天更新到最新的appcompt(22.1)后,我必须对我的应用程序执行此操作.这就是我所有的改变,我的应用程序现在再次运行. (4认同)
  • 这很奇怪,但是在切换ActionBarActivity - > AppCompatActivity之后工作 (4认同)

sba*_*aar 40

去掉

<item name="windowActionBar">false</item>
Run Code Online (Sandbox Code Playgroud)

从您的主题,然后确保您继承.NoActionBar主题,然后像平常一样设置您的工具栏.

  • 因为几个小时前谷歌发布了他们的支持库版本22.1,导致你的项目(以及我的项目)中的这个问题.这只是巧合,不是因为迁移到Android Studio. (3认同)
  • 对我来说,从.NoActionBar继承主题是关键,不需要删除元素. (3认同)

Ang*_*i H 30

确保您的主题是儿童Theme.AppCompat.NoActionBar,然后在styles.xml:

<style name="MyMaterialTheme" parent="Theme.AppCompat.NoActionBar">
        <item name="windowNoTitle">true</item>
        ...
</style>
Run Code Online (Sandbox Code Playgroud)

顺便说一句,这是支持库22.1的新问题.

  • 这很有效.是否有人报告此事? (2认同)

wil*_*dev 16

检查你是否在super.onCreate()之后调用setContentView(),而不是之前.这有助于我的情况.


atr*_*edi 5

在Style.xml中使用此父级parent ="Theme.AppCompat.Light.NoActionBar"