web-dev-qa-db-fra.com

java Android.support.v4.widget.DrawerLayout introuvable

Android.support.v4.widget.DrawerLayout; ne se trouve pas sur mon téléphone lorsque je teste l'application. Pourquoi cela se produit-il et comment puis-je résoudre le problème?

Je ne sais pas encore, mais je pense que je risque d'avoir le même problème avec Android.support.v4.view.GravityCompat; Et Android.support.v4.app.ActionBarDrawerToggle; s'ils causent des problèmes.

Je n'ai jamais eu de problèmes avec Android.support.v4.*; mais maintenant, cela ne fonctionne pas . J'ai la librairie Android.support.v4 (le premier).

Edit: meilleur message d'erreur

mon erreur

05-27 19:46:21.230: E/jdwp(11659): Failed sending reply to debugger: Broken pipe
05-27 19:46:21.290: W/dalvikvm(11659): VFY: unable to resolve virtual method 30: Landroid/support/v4/widget/DrawerLayout;.closeDrawer (Landroid/view/View;)V
05-27 19:46:21.290: W/dalvikvm(11659): VFY: unable to resolve virtual method 27: Landroid/support/v4/app/ActionBarDrawerToggle;.onConfigurationChanged (Landroid/content/res/Configuration;)V
05-27 19:46:21.290: E/dalvikvm(11659): Could not find class 'Android.support.v4.widget.DrawerLayout', referenced from method com.MainActivity.onCreate
05-27 19:46:21.290: W/dalvikvm(11659): VFY: unable to resolve check-cast 16 (Landroid/support/v4/widget/DrawerLayout;) in Lcom/MainActivity;
05-27 19:46:21.290: W/dalvikvm(11659): VFY: unable to resolve virtual method 28: Landroid/support/v4/app/ActionBarDrawerToggle;.onOptionsItemSelected (Landroid/view/MenuItem;)Z
05-27 19:46:21.290: W/dalvikvm(11659): VFY: unable to resolve virtual method 29: Landroid/support/v4/app/ActionBarDrawerToggle;.syncState ()V
05-27 19:46:21.290: W/dalvikvm(11659): VFY: unable to resolve virtual method 31: Landroid/support/v4/widget/DrawerLayout;.isDrawerOpen (Landroid/view/View;)Z
05-27 19:46:21.290: W/dalvikvm(11659): Unable to resolve superclass of Lcom/MainActivity$1; (14)
05-27 19:46:21.290: W/dalvikvm(11659): Link of class 'Lcom/MainActivity$1;' failed
05-27 19:46:21.340: W/dalvikvm(11659): threadid=1: thread exiting with uncaught exception (group=0x40bc71f8)
05-27 19:16:42.404: E/dalvikvm(10623): Could not find class 'Android.support.v4.widget.DrawerLayout', referenced from method com.MainActivity.onCreate
05-27 19:16:42.464: E/AndroidRuntime(10623): FATAL EXCEPTION: main
05-27 19:16:42.464: E/AndroidRuntime(10623): Java.lang.RuntimeException: Unable to start activity ComponentInfo{com.MainActivity}: Android.view.InflateException: Binary XML file line #3: Error inflating class Android.support.v4.widget.DrawerLayout
16
Spik330

Si vous avez récemment mis à jour votre ADT, vos chemins de construction de la bibliothèque ont peut-être été perturbés. Essayez ce qui suit:

  1. Clic droit sur projet
  2. Construire Chemin -> Configurer le chemin de construction
  3. Onglet: Commande et exportation
  4. Assurez-vous que votre Android et Dépendances Android bibliothèques sont cochées
  5. Nettoyez et construisez votre projet

Au cours de ma dernière mise à jour ADT, ils ont tous été désactivés et des erreurs similaires se sont produites.

26
Daniel Lerps

Ma solution (pour Eclipse):
Copiez la bonne version des bibliothèques de support dans le répertoire [Nom du projet]/libs.
Peut-être devez-vous reconstruire le projet.
PS: les bibliothèques de support se trouvent sous [Votre-Kit de développement SDK]/[SDK choisi]/extras/Android/support/[v4 | v9 | v13]/src

0
Filius Patris

J'ai eu un problème similaire, les étapes suivantes ont résolu mon problème:

  1. J'ai ouvert project.properties dans le projet de bibliothèque FacebookSDK et vérifié la cible, qui dans mon cas était target = Android-10.

  2. allez dans le gestionnaire de SDK et vérifiez si l'API 10 est installée, installez-la si elle est manquante.

C'est tout.

0
AamirR

assurez-vous que actionbarsherlock et SherlockNavigationDrawer ont la même version (et la plus récente) de la bibliothèque de support. 

Clic droit sur Projet> Outils Android> Ajouter une bibliothèque de support ...

Faites ceci pour les deux projets et vous êtes prêt à partir;)

0
mmbrian