java.lang.IllegalArgumentException: AppCompat ne prend pas en charge les fonctionnalités de thème actuelles

J’ai essayé de migrer un projet d’Eclipse vers un studio Android. Enfin, je suis capable de l’exécuter, mais à un certain moment j’ai eu cette exception, et je n’ai rien trouvé dans Google à ce sujet:

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) ... 

73. La ligne de MainActivity est:

 setContentView(R.layout.activity_main); 

S’il vous plaît, conseillez-moi si vous le pouvez.

Related of "java.lang.IllegalArgumentException: AppCompat ne prend pas en charge les fonctionnalités de thème actuelles"

alternative à la réponse de @ sbaar,

conservez windowActionBar sur false et ajoutez également windowNoTitle et définissez-le sur true .

c’est à dire

  false true 

Retirer

 false 

À partir de votre thème, assurez-vous d’hériter d’un thème .NoActionBar, puis définissez votre barre d’outils normalement.

Assurez-vous que votre thème est enfant de Theme.AppCompat.NoActionBar , puis dans styles.xml :

  

Btw, c’est un nouveau problème pour Support Library 22.1.

Vérifiez si vous appelez setContentView () après super.onCreate (), et pas avant. Cela a aidé dans mon cas.

Utilisez ce parent dans Style.xml parent = “Theme.AppCompat.Light.NoActionBar”

Dans mon cas, je n’ai pas changé pour .NoActionBar Theme. Je viens de supprimer le préfixe Android de cet élément.

 false 

et l’erreur disparaît.

Sois sûr que

 super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); 

sont au sumt de tout cela fonctionne pour moi …. bonne chance

append une dépendance à graduer comme ça

 comstack 'com.android.support:appcompat-v7:21.0.3' 

J’ai résolu le problème avec mon activité principale qui étend AppCompatActivity 🙂

J’ai eu le même problème lorsque j’ai mis à niveau la version de bibliothèque de 22.0.0 à 22.1.1 et que je l’ai corrigée en revenant à la version précédente: com.android.support:appcompat-v7:22.0.0 et reviens à l’utilisation d’ActionBarActivity, pas AppCompatActivity dans mes classes d’activité comme requirejs par la version plus récente de la bibliothèque de compatibilité. Je vais réessayer plus tard.

Il suffit de l’utiliser dans votre style.xml, aucune autre édition n’est nécessaire

   

ne rien append au fichier d’activité, veuillez le laisser

 public class Main extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } } 

Dans le changement de classe Java, Main extends ActionBarActivity à Main extends Activity . Cela a fonctionné pour moi.

Dans mon cas, je cherche la réponse @rewrihitesh, et je remarque que j’ai inversé l’ordre des éléments . Changeant de

 setContentView(R.layout.activity_test); super.onCreate(savedInstanceState); 

à

 super.onCreate(savedInstanceState); setContentView(R.layout.activity_test); 

Corrige mon problème

J’espère que cela aide !!

si vous avez ajouté false , vous devez alors append

 true 

résoudre le problème.