Ich habe dies den ganzen Abend ohne Erfolg versucht, daher werde ich meine genauen Schritte auflisten, die von vorne anfangen.
Dies ist mein Projekt, mit dem ich ein Gitter erstellen kann Layout auf.
Um das Support-Paket einzurichten, sind meine Schritte:
Android-SDKs\Extras\Android\Support\V7\Gridlayout
testinggridlayout
und klicken Sie auf Eigenschaften:An diesem Punkt
Wenn ich in das main.xml-Layout gehe, füge diesen Code manuell ein:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent"
Android:orientation="vertical" >
<GridLayout
Android:background="#FFFFFF"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:columnCount="8"
Android:rowCount="5" >
</GridLayout>
</LinearLayout>
Ich bekomme den Fehler:
Die folgenden Klassen konnten nicht gefunden werden: - GridLayout (fix build Pfad, XML bearbeiten).
Wenn ich mich ändere
<GridLayout> & </GridLayout>
zu <Android.support.v7.widget.GridLayout> & </Android.support.v7.widget.Gridlayout>
Ich erhalte den gleichen Fehler:
Die folgenden Klassen konnten nicht gefunden werden: - Android.support.v7.widget.GridLayout (Build-Pfad korrigieren, XML bearbeiten).
Zu diesem Zeitpunkt habe ich in meinem Projekt einen Ordner mit dem Namen "libs" erstellt.
Ich habe dann die Android-support-v7-GridLayout.jar-Datei unter libs im GridLayout-Projekt in diesen Ordner kopiert.
Ich habe diese Datei in meinem "libs" -Ordner in "testinggridlayout" mit der rechten Maustaste angeklickt und "Zu Build-Pfad hinzufügen" ausgewählt.
Mein Fehler hat sich dann geändert in:
Die folgenden Klassen konnten nicht instanziiert werden: - Android.support.v7.widget.GridLayout (offene Klasse, Fehlerprotokoll anzeigen)
Welche Bits habe ich verpasst/hätte nicht tun sollen?
Ich benutze Intellij Idee, also ist es nicht genau Ihr Fall, aber vielleicht wird es hilfreich sein. Ich hatte den ganzen Tag Mühe, das einzurichten, dann funktionierte es plötzlich. Ich beschreibe mein Setup, damit Sie Folgendes vergleichen können:
Android-support-v13.jar
und Android-support-v7-gridlayout.jar
verwendet. HINWEIS: Ich habe die v7-Unterstützungsbibliothek im Hauptprojekt verwendet, nicht im Bibliotheksprojekt. Wenn ich es jetzt überprüfe, beziehe ich mich im Bibliotheksprojekt nicht auf die v7-Unterstützung .<Android.support.v7.widget.GridLayout />
anstelle von <GridLayout />
xmlns:grid="http://schemas.Android.com/apk/res-auto"
in Ihrer Layoutdatei, um benutzerdefinierte Attribute zu verwenden, die im Bibliotheksprojekt in Ihrem Tag definiert sind, z. B. grid:columnCount
hoffe das hilft. Ich versuche es gerade, bin mir nicht mal sicher, ob ich es brauche :)
Wenn jemand dasselbe Problem hat, hier eine Lösung, die für mich funktioniert hat:
Nachdem Sie ein Projekt in einen Arbeitsbereich importiert haben, müssen Sie es als Abhängigkeit über die Registerkarte Android und nicht über Java Build Path hinzufügen
Projekt -> Eigenschaften -> Android -> Bibliothek -> [Hinzufügen ...]
Ich habe auch Is Library angekreuzt.
Kopieren Sie Android-support-v7-gridlayout.jar aus dem Ordner Android_SDK_Ordner\extras\Android\support\v7\gridlayout\libs . Fügen Sie es dann in Ihr Projekt MyAndroidProject\libs ein.
Die Version 7 von support-v7-gridlayout.jar hatte einige Probleme. Jetzt wurde es auf Version 8 aktualisiert, siehe Kompatibilitätsbibliothek das Support-Paket für alle Ihre Bibliothek und Abhängigkeiten, oder Sie haben einen Fehler der Nichtübereinstimmung.
Bearbeiten Sie die .classpath-Datei Ihres Projekts (und auch Ihres Bibliotheksprojekts) wie folgt:
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry exported="true" kind="con" path="com.Android.ide.Eclipse.adt.Android_FRAMEWORK"/>
<classpathentry exported="true" kind="con" path="com.Android.ide.Eclipse.adt.DEPENDENCIES"/>
<classpathentry exported="true" kind="con" path="com.Android.ide.Eclipse.adt.LIBRARIES"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="gen"/>
<classpathentry kind="output" path="bin/classes"/>
</classpath>
Zusätzlich zu den oben aufgeführten Vorschlägen musste ich noch etwas tun, bevor ich eine Vorschau des Rasterlayouts in Eclipse erstellen konnte:
Ich hoffe es hilft!
Um 7V-Beispiele (/ Extras/Android/Support/Samples/Support7Demos /) zu aktivieren, führen Sie folgende Schritte aus: