Klasse nicht gefunden android.support.v7.widget.SearchView $ 5 '

8

Ich erhalte diesen Fehler in y Logcat. Weiß jemand was es ist?

%Vor%     
Bombolo 22.08.2013, 17:06
quelle

3 Antworten

11

Hier gibt es nicht viel Code, aber ich bin selbst in diese Situation geraten und hier ist mir passiert:

Ich habe die v7 compat-Bibliothek benutzt, um eine ActionBar auf Android 2 zu haben Ich implementiere das Suchinterface Zeug.

Grundlegender Einrichtungscode (in onCreateOptionsMenu() )

%Vor%

Schlechter Code

%Vor%

Leider ist das Problem hier, dass wir eine Methode aufrufen, die nur in v14 unterstützt wird. Daher erhalten wir einen "seltsamen" Laufzeitfehler, wenn wir versuchen, einige Klassen zu laden, die implizit verwendet werden. Das ist keine sehr gute Erklärung, aber im Grunde ist es der gleiche Grund, warum wir getSupportActionBar() anstelle von getActionBar() verwenden müssen.

Guter Code

%Vor%     
xbakesx 03.09.2013 19:36
quelle
5

Sie müssen sicherstellen, dass Sie die Android-Unterstützungsbibliothek in Eclipse korrekt hinzufügen, um den folgenden Fehler aus dem Protokoll zu entfernen. Die Klasse android.support.v7.widget.SearchView $ 5, auf die von der Methode android.support.v7.widget verwiesen wird, konnte nicht gefunden werden. SearchView.addOnLayoutChangeListenerToDropDownAnchorSDK11 '.

Vergessen Sie nicht, Android-Abhängigkeiten zu deaktivieren , wenn Sie die Support-Bibliothek hinzufügen, da die v7 appcompat-Bibliothek über Ressourcen verfügt. Nachdem Sie die Änderungen an Ihren Abhängigkeiten in Ihrem Support-Bibliotheksprojekt vorgenommen haben, bereinigen Sie das Support-Bibliotheksprojekt und das ist es.

Lesen Sie das vollständige Verfahren im Abschnitt Bibliotheken mit Ressourcen hinzufügen des offiziellen Google-Tools Fügen Sie Support-Bibliotheken mit Ressourcen hinzu.

Auszug aus oben genanntem doco für den Fall, dass sich der Link in Zukunft ändert:

  1. Stellen Sie sicher, dass Sie die Android-Support-Bibliothek mit dem heruntergeladen haben SDK-Manager.
  2. Erstellen Sie ein Bibliotheksprojekt und stellen Sie die erforderliche JAR sicher Dateien sind im Buildpfad des Projekts enthalten:
    • Wählen Sie Datei & gt; Einführen.
    • Vorhandenen Android-Code in Arbeitsbereich auswählen und auf Weiter klicken.
    • Navigieren Sie zum SDK-Installationsverzeichnis und dann zum Support Bibliotheksordner Zum Beispiel, wenn Sie die Appcompat hinzufügen Projekt, navigieren Sie zu / extras / android / support / v7 / appcompat /.
    • Klicken Sie auf Fertig stellen, um das Projekt zu importieren. Für das v7 appcompat-Projekt, Sie sollte jetzt ein neues Projekt mit dem Titel android-support-v7-appcompat sehen.
    • Erweitern Sie im neuen Bibliotheksprojekt den Ordner libs /, und klicken Sie mit der rechten Maustaste darauf .jar-Datei und wählen Sie Build Path & gt; Zum Buildpfad hinzufügen. Beispielsweise, Fügen Sie beim Erstellen des v7 appcompat-Projekts beide hinzu android-support-v4.jar und android-support-v7-appcompat.jar Dateien zu der Build-Pfad
    • Klicken Sie mit der rechten Maustaste auf das Projekt und wählen Sie Build Path & gt; Konfigurieren Sie den Erstellungspfad. Überprüfen Sie auf der Registerkarte "Bestellung und Export" die JAR-Dateien, die Sie gerade zum Erstellungspfad hinzugefügt haben, damit sie für Projekte verfügbar sind, die von diesem Bibliotheksprojekt abhängig sind. Für das appcompat-Projekt müssen Sie beispielsweise die Dateien "android-support-v4.jar" und "android-support-v7-appcompat.jar" exportieren.
    • Deaktiviere Android-Abhängigkeiten.
    • Klicken Sie auf OK, um die Änderungen abzuschließen.
DK2 05.09.2013 08:05
quelle
0

Sie müssen dem Projekt fehlende Supportbibliothek hinzufügen. In Eclipse: Rechtsklick auf Projekt

Wählen Sie Android Tools / Support-Bibliothek hinzufügen ...

    
Misha Kobrin 19.12.2013 08:42
quelle

Tags und Links