web-dev-qa-db-fra.com

Configuration du package de support Android v7 pour Eclipse - GridLayout

Cela fait toute la soirée que j'essaye sans succès, alors je vais énumérer mes étapes exactes en partant de zéro.

  • J'ai installé le package de support via le gestionnaire de SDK.
  • Je crée un nouveau projet Android que j'appelle "testinggridlayout".
  • La cible de construction que j'ai sélectionnée est Android 2.1 API 7.
  • Élément de liste

Ce sera mon projet pour lequel je veux pouvoir créer une grille mise en page sur.


Pour configurer le package de support, voici mes étapes:

  • Cliquez avec le bouton droit sur le projet que je viens de créer et sélectionnez - Nouveau -Projet Android.
  • Nommez-le GridLayout et sélectionnez créer un projet à partir d'une source existante .__ et naviguez jusqu'à:

Android-sdks\extras\Android\support\v7\gridlayout

  • Cliquez avec le bouton droit sur mon projet testinggridlayout et cliquez sur Propriétés:
  • sous Chemin de construction Java - sélectionnez l'onglet Projets, puis Ajouter.
  • sélectionnez mon projet "GridLayout" et cliquez sur OK, puis sur OK.

À ce point

Si je vais dans la disposition main.xml, insérez manuellement ce code:

<?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>

Je reçois l'erreur:

Les classes suivantes sont introuvables: - GridLayout (correction de la construction Path, modification de XML).

Si je change

<GridLayout> & </GridLayout>
à 
<Android.support.v7.widget.GridLayout> & </Android.support.v7.widget.Gridlayout>

Je reçois la même erreur:

Les classes suivantes sont introuvables: - Android.support.v7.widget.GridLayout (chemin de génération de correctif, modification de XML).

À ce stade, j'ai créé un dossier dans mon projet appelé "libs".

J'ai ensuite copié le fichier Android-support-v7-GridLayout.jar sous libs dans le projet GridLayout dans ce dossier.

J'ai cliqué avec le bouton droit sur ce fichier dans mon dossier "libs" dans "testinggridlayout" et sélectionné "Ajouter au chemin de construction".

Mon erreur s'est alors transformée en:

Les classes suivantes n'ont pas pu être instanciées: - Android.support.v7.widget.GridLayout (classe ouverte, afficher le journal des erreurs)

Quel (s) bit (s) ai-je manqué/n'aurais-je pas dû faire?

34
Kyohei Kaneko

J'utilise intellij idea, ce n'est donc pas exactement votre cas, mais ce sera peut-être utile. J'ai eu du mal à organiser cette journée entière, puis tout a fonctionné. Je vais décrire ma configuration afin que vous puissiez comparer:

  1. configurer le projet GridLayout en tant que projet de bibliothèque. Vous trouverez un exemple de configuration sur le site de développement Android ici
  2. configurez votre projet main comme d'habitude, référencez le projet de bibliothèque comme décrit dans le lien ci-dessus.
  3. ajoutez des bibliothèques à votre projet principal. J'ai utilisé le dernier Android-support-v13.jaret leAndroid-support-v7-gridlayout.jar. NOTE: J'ai utilisé la bibliothèque de support v7 dans le projet main, pas le projet de bibliothèque. En fait, vérifiez-le maintenant - dans le projet de bibliothèque I ne référence pas le support v7.
  4. Utilisez le nom complet du package dans le fichier de mise en page: <Android.support.v7.widget.GridLayout /> au lieu de <GridLayout />
  5. utilisez un espace de noms personnalisé, quelque chose comme ceci: xmlns:grid="http://schemas.Android.com/apk/res-auto" dans votre fichier de présentation pour utiliser les attributs personnalisés définis dans le projet de bibliothèque dans votre balise, tels que grid:columnCount

j'espère que cela t'aides. Je suis en train de l'essayer, même pas sûr que c'est quelque chose dont j'ai besoin :)

15
khusrav

Si quelqu'un a le même problème, voici une solution qui a fonctionné pour moi:

Après avoir importé le projet dans un espace de travail, vous devez l'ajouter en tant que dépendance à l'aide de l'onglet Android et non du chemin de construction Java.

Projet -> Propriétés -> Android -> Bibliothèque -> [Ajouter ...]

J'ai aussi coché Is Library.

10
Mahakala

Copier Android-support-v7-gridlayout.jar depuis le dossier Android_SDK_folder\extras\Android\support\v7\gridlayout\libs . Ensuite, collez-le dans votre dossier projet MyAndroidProject\libs .

5
Sridhar Nalam

La révision 7 de support-v7-gridlayout.jar avait quelques problèmes . Elle a été mise à jour vers la révision 8, voir la bibliothèque de compatibilité package pour l'ensemble de votre bibliothèque et dépendances ou vous avez une erreur d'incompatibilité.

4
Marckaraujo

Modifiez le fichier .classpath de votre projet (et de la bibliothèque également) comme suit:

<?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>
2
Lingviston

En plus des suggestions énumérées ci-dessus, je devais faire une dernière chose avant de pouvoir prévisualiser la disposition de la grille dans Eclipse: 

  1. Cliquez avec le bouton droit sur le projet Android-support-v7-gridlayout.
  2. Allez dans Propriétés> Chemin de construction Java> Bibliothèques
  3. Ajoutez libs/Android-support-v7-gridlayout.jar aux bibliothèques.
  4. Accédez à Order and Export et vérifiez le fichier jar ajouté à l'étape précédente.

J'espère que ça aide!

1
argenkiwi

Pour que les échantillons 7v (/ extras/Android/support/samples/Support7Demos /) fonctionnent, procédez comme suit:

  1. Importer tous les projets à partir d'ici/extras/Android/support/v7
  2. Créer un répertoire/libs pour le projet Support7Demos
  3. Placez tous les fichiers * .jar dans le répertoire/libs de ces projets et ajoutez-les à Support7Demos/libs
0
zest