wake-up-neo.com

Die folgenden Klassen konnten nicht instanziiert werden: - Android.support.v7.widget.Toolbar

Ich erstelle eine App mit dem neuen Materialdesign, das in Android Lollipop (5.0) verwendet wird.

Ich verwende folgende Handbücher:

Nachdem ich meine Symbolleiste erstellt habe, erhalte ich folgende Fehlermeldung: "Die folgenden Klassen konnten nicht instanziiert werden: - Android.support.v7.widget.Toolbar"

Die App funktioniert gut im Telefon oder im Emulator, aber der Layout-Designer von Android Studio zeigt das Layout nicht richtig an.

Hier gibt es einige Bilder:

Fehler in der Layoutvorschau für my_awesome_toolbar.xml error in my_awesome_toolbar.xml

Fehler in der Layoutvorschau von activity_my.xml error in activity_my.xml

Der XML-Code der Dateien:

my_awesome_toolbar.xml:

<?xml version="1.0" encoding="utf-8"?>

<Android.support.v7.widget.Toolbar
xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:id="@+id/my_awesome_toolbar"
Android:layout_height="wrap_content"
Android:layout_width="match_parent"
Android:minHeight="?attr/actionBarSize"
Android:background="?attr/colorPrimary" />

activity_my.xml:

<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
            xmlns:tools="http://schemas.Android.com/tools"
            Android:layout_width="match_parent"
            Android:layout_height="match_parent"
            Android:id="@+id/root"
            tools:context="com.myapp.test.MyActivity"
            Android:orientation="horizontal">

    <include
        Android:id="@+id/toolbar"
        layout="@layout/my_awesome_toolbar"
        />
    <!-- Rest of layout -->
</RelativeLayout>

MyActivity.Java:

package com.myapp.test;

import Android.os.Bundle;
import Android.support.v7.app.ActionBarActivity;
import Android.support.v7.widget.Toolbar;
import Android.view.Menu;
import Android.view.MenuItem;


public class MyActivity extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_my);

        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.my, 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);
    }
}

xML-Code der Stile (values ​​/ styles.xml):

<resources>

    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="colorPrimary">@color/blue</item>
        <item name="colorPrimaryDark">@color/dark_blue</item>
        <item name="actionOverflowButtonStyle">@style/AppTheme.OverflowButtonStyle</item>
    </style>

    <!-- Style Title -->
    <style name="Title">
        <item name="Android:textColor">@color/white</item>
        <item name="Android:textStyle">bold</item>
        <item name="Android:textSize">16sp</item>
    </style>

    <style name="AppTheme.OverflowButtonStyle" parent="Widget.AppCompat.ActionButton.Overflow">
        <item name="Android:src">@drawable/overflow_icon</item>
    </style>
</resources>

Im Moment verwende ich Android Studio Beta 0.8.9

99
FirestormXYZ

Für Android Studio (oder IntelliJ IDEA) 

Wenn in Ihrem Projekt alles in Ordnung ist und Sie immer noch den Fehler in allen Layouts erhalten, versuchen Sie "Caches ungültig machen und neu starten".

Warten Sie, bis Android Studio fertiggestellt ist, um alle Caches und Indizes zu erstellen.

how to invalidate cache & restart

91
gbero

Ich habe die Datei res/values ​​/ styles.xml folgendermaßen geändert:

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

zu diesem:

<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">

und das hat das Problem gelöst.

161
Ang Lee

Ich habe getan, was @gbero gesagt hat, und ich habe die Android-Versionsnummer, die Studio verwendet, von 22 auf 17 geändert und es funktioniert.

Ich verwende die Rückwärtskompatibilität, um für Android ver 22 zu bauen, aber um 17 anzusprechen (idk, wenn das richtig gesagt ist, ich versuche immer noch, diese App ausfindig zu machen), so dass die Rückwärtskompatibilität ausgelöst wird, was afaik der Android.support.v7.* ist. Dies ist wahrscheinlich ein Fehler mit ihrem Rendering-Code. Ich war mir nicht sicher, ob das Löschen des Cache wie oben beschrieben erforderlich war, da das Rendern direkt nach dem Ungültigmachen des Caches nicht funktioniert hat. Nachdem ich die Version geändert hatte, funktionierte es. Wenn ich wieder auf Version 22 wechsle, bricht das Rendering ab, wenn ich wieder auf 17 umstelle, funktioniert es wieder.

my fix

35

Von: https://stackoverflow.com/a/29989542/4123403

  1. Projekt reinigen
  2. Projekt neu erstellen
  3. Gradle synchronisieren

Das hat den Trick für mich gemacht.

13
Eric B.

Ein anderer Fehler, der dieselbe Auswirkung haben kann, kann das falsche Thema in der Vorschau sein. Aus irgendeinem Grund hatte ich hier ein anderes Thema ausgewählt. Nachdem ich mein AppTheme ausgewählt hatte, funktionierte es wieder gut:

 layout options

12
Björn Kechel

Tut mir leid, wenn ich mich selbst antworte, aber schließlich war die Lösung meines Problems das Update von Android Studio auf die neue Version 0.8.14 von Canary Channel: http://tools.Android.com/recent/

Nach dem Update ist das Problem weg:

After the update, the problem is gone

Ich lasse diese Frage hier für diejenigen, die dieses Problem in der Zukunft haben.

9
FirestormXYZ

Ich habe getan, was @ang_lee sagte, und ich habe diese Zeile zum App-Theme-Stil hinzugefügt:

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

ich verwende Version 26.0.1: 

com.Android.support:design:26.0.1
com.Android.support:appcompat-v7:26.0.1

bauwerkzeuge:

buildToolsVersion "26.0.1"
5
AymAn AbuOmar
  1. Projekt reinigen
  2. Projekt neu erstellen
  3. Gradle synchronisieren

es funktioniert für mich

5

Ich hatte den gleichen Fehler auf meinem Android Studio-Bildschirm, als ich mein Projekt zuvor anzeigen wollte. Ich behebe das Problem auf diese Weise:

1- Ich ändere die Version von 22 auf 21. Wenn ich jedoch auf Version 22 zurücksteige, bricht das Rendering, wenn ich wieder auf 21 wechsle, funktioniert es wieder. Vielen Dank @ Overloaded_Operator

Ich habe mein Android Studio aktualisiert, funktioniert aber nicht. Vielen Dank @ Salvuccio96

2
kilian agboton

ich habe die appCompat - v7 - Version in meiner Graduate - Datei von 23 auf 25.3.1 aktualisiert. hat geholfen, dass es für mich funktioniert 

1
antroid

Suchen Sie die Datei styles.xml im Ordner app/res/values.

Das übergeordnete Attribut des Stils könnte "Base" ..__ fehlen. Es sollte als beginnen

<style name="AppTheme" parent="Base.Theme.AppCompat...
0
dprojects2050

Die obigen Lösungen haben mir nicht geholfen. Ich habe 2 erste Schritte aus diesem Link . Ausprobiert. Aber vergessen Sie nicht zu 

import com.melnykov.fab.FloatingActionButton; 

anstatt 

import Android.support.design.widget.FloatingActionButton;

in Ihrer MainActivity.Java

0
WishMaster

Mein Problem wurde auch durch das Ändern von styles.xml gelöst

<!-- Base application theme. -->
<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
0
abir99

Ich hatte den gleichen Fehler. Schließlich bekam ich die Nachricht, dass ein Plugin nicht mehr aktuell ist:

 error dialog

Nach dem Update ist das Problem behoben.

0
James Moore

Ich hatte das gleiche Problem für eine der Aktivitäten in meiner App. Eine der Ursachen für dieses Problem ist, dass sich das Thema im Designeditor möglicherweise von dem in der 'styles.xml' definierten Thema unterscheidet. Wechseln Sie das Design im Designeditor zu Ihrem 'Apptheme' oder zu Ihrem benutzerdefinierten Thema (falls Sie es definiert haben). Dadurch wurde mein Problem behoben.

0
V. Tank

Ich benutze Android Studio 2.3.3: - Open styles.xml - Das Android Studio zeigt oben rechts eine Benachrichtigung mit zwei Optionen: "Editor öffnen" und "Benachrichtigung ausblenden" .- Klicken " Editor öffnen "- Klicken Sie unter" Übergeordnetes Design "auf" Alle Designs anzeigen "- Wählen Sie ein beliebiges Design aus, das mit AppCompat beginnt ... (Ich habe AppComat.DayNight verwendet)

Hinweis: Wenn Ihre Titelleiste nicht mehr angezeigt wird, müssen Sie AppCompatActivity anstelle von Activity erweitern.

Alles Gute!

0
Norman Pilusa