I've just upgraded my app to use the newly released v22.1.0 AppCompat and I'm now getting the following exception when I open my app.
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)
How do I fix it?
AppCompat is now more strict on what it expect in theme window flags, more closely matching what you would get from the framework.
The main reason behind this is to support AppCompatDialogs which we were also adding in this release. They make heavy use of the
windowNoTitle
flag, which AppCompat previously didn't pay much attention to.So to fix your issue you have two options:
The easy way is to just use
Theme.AppCompat.NoActionBar
as your parent theme. This will always do the right thing.If you can't do that though (maybe you need to support action bar and no action bar), you should do the following:
You should be back on track now.
Just use this in your
style.xml
in values-v21 folder no other editing is neededDon't add anything in to activity file please leave it
Those who're still getting error after all of those fix.
Please inherit from
and don't use
Then, you won't get any error.
I added
but it wasnt enough. Finally, moving super.onCreate before setContentView in Activity - fixed my issue :)