it-swarm.com.de

java.lang.IllegalArgumentException: AppCompat unterstützt die aktuellen Designfunktionen nicht

Ich habe versucht, ein Projekt von Eclipse nach Android studio zu migrieren. Endlich kann ich es ausführen, aber irgendwann habe ich diese Ausnahme und in google habe ich nichts gefunden:

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. Zeile der Hauptaktivität ist:

setContentView(R.layout.activity_main);

Bitte raten Sie mir, wenn Sie können.

107
Adam Varhegyi

alternative zu @ sbaars Antwort,

behalte windowActionBar zu false und füge windowNoTitle hinzu und setze es auf true.

dh

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

Löschen

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

stellen Sie dann sicher, dass Sie von einem .NoActionBar-Design erben, und legen Sie die Symbolleiste wie gewohnt fest.

40
sbaar

Stellen Sie sicher, dass Ihr Thema ein untergeordnetes Thema von Theme.AppCompat.NoActionBar Ist, und klicken Sie dann in styles.xml Auf:

<style name="MyMaterialTheme" parent="Theme.AppCompat.NoActionBar">
        <item name="windowNoTitle">true</item>
        ...
</style>

Übrigens, es ist eine neue Ausgabe für Support Library 22.1.

29
Anggrayudi H

Überprüfen Sie, ob Sie setContentView () nach super.onCreate () und nicht vorher aufrufen. Dies hat in meinem Fall geholfen.

16
wilddev

Verwenden Sie dieses übergeordnete Element in Style.xml parent = "Theme.AppCompat.Light.NoActionBar"

5
atrivedi

Stelle sicher das

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

sind an der Spitze von allem, was das für mich funktioniert .... viel Glück

3
rewrihitesh

in meinem Fall habe ich nicht zu .NoActionBar Theme gewechselt. Ich entferne nur Android Präfix von diesem Artikel.

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

und der fehler geht weg.

3
Setmax

füge Abhängigkeit zu gradle hinzu

compile 'com.Android.support:appcompat-v7:21.0.3'

Ich habe das Problem durch meine Hauptaktivität gelöst, die AppCompatActivity erweitert :)

1
russellhoff

In Java Klassenwechsel Main extends ActionBarActivity bis Main extends Activity. Es hat bei mir funktioniert.

Ich hatte das gleiche Problem etwas entfernt Android: aus meiner syles.xml wie folgt;

 <!-- caused crash -->
 <item name="Android:windowActionBar">false</item>
 <item name="Android:windowNoTitle">true</item>

 <!-- didn't cause crash -->
 <item name="windowActionBar">false</item>
 <item name="windowNoTitle">true</item>
0
BENN1TH

In meinem Fall suche ich nach @rewrihitesh answer und bemerke, dass ich mgekehrte Reihenfolge der Elemente. Ändern von

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

zu

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

Repariere mein Problem.

Ich hoffe es hilft !!

0

wenn Sie <item name="windowActionBar">false</item> hinzugefügt haben, müssen Sie hinzufügen

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

um das Problem zu lösen.

0
user6088902

Ich hatte das gleiche Problem, als ich die Bibliotheksversion von 22.0.0 auf 22.1.1 aktualisiert und durch Zurücksetzen auf die vorherige Version behoben habe: com.Android.support:appcompat-v7:22.0.0 und zurück zur Verwendung von ActionBarActivity. nicht AppCompatActivity in meinen Aktivitätsklassen, wie in der neueren Version der Kompatibilitätsbibliothek erforderlich. Ich werde es später noch einmal versuchen.

0
Gail

verwenden Sie dies einfach in Ihrer style.xml, es ist keine weitere Bearbeitung erforderlich

 <style name="AppTheme" parent="Theme.AppCompat">

<!-- theme customizations -->

<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>

fügen Sie der Aktivitätsdatei nichts hinzu. Bitte lassen Sie sie

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);
}

 }
0
Ribin Haridas