web-dev-qa-db-fra.com

Cette classe doit être publique (Android.support.v7.internal.widget.ActionBarView.HomeView)

J'essaie de créer une Android Application qui utilise 3 filateurs. Je continue à recevoir cette erreur et je ne peux pas comprendre comment la corriger. Cette classe devrait être publique (Android .support.v7.internal.widget.ActionBarView.HomeView)

23
HeadShotNot

Sur la bibliothèque "v7-appcompat":

préférences -> Android Préférences Lint

Recherchez "Instantiatable" et réglez sur Avertissement.

50
braintrapp

Si vous utilisez Eclipse:

Project > Clean > OK

Ou essayez:

Preferences -> Android Lint Preferences

Recherchez Instantiatable et définissez comme Warning.

http://developer.Android.com/tools/debugging/improving-w-lint.html

Cela a fonctionné pour moi.

13
Paulo

Accédez à bibliothèque appcompat_v7 -> Properties -> Android Lint Preferences -> Instantiatable -> Sélectionnez la gravité "Warning".

enter image description here

Android Lint Checks

Instanciable Résumé: garantit que les classes enregistrées dans le fichier manifeste sont instanciables

Priorité: 6/10 Gravité: Avertissement Catégorie: Exactitude

Les activités, les services, les récepteurs de diffusion, etc. enregistrés dans le fichier manifeste doivent être "instanciables" par le système, ce qui signifie que la classe doit être publique, elle doit avoir un constructeur public vide, et si c'est une classe interne, elle doit être un classe interne statique.

8
Jorgesys

J'ai trouvé une solution, dans le fichier project.properties, remplacez simplement la ligne disant

Android.library.reference.1=../appcompat_v7_3 

avec

Android.library.reference.1=../appcompat_v7

Cela m'a au moins résolu le problème.

3
Olgierd

Ce n'est pas une vraie solution, mais peut-être de l'aide.

Créez un projet avec un niveau d'API supérieur à 8.

Chaque fois que je sélectionne le SDK minimum requis au niveau de l'API 9 au lieu de 8, cette erreur ne se produit pas.

Observation: Ma dernière réponse a été supprimée, peut-être que le modérateur pense que c'était à peine plus qu'un lien vers un site externe, pour cette raison je ne poste plus le lien.

2
noob guest

Eclipse dans les problèmes d'installation. Windows -> Préférences -> Android -> Vérification des erreurs Lint -> Entrez "Instantiatable" dans les problèmes -> sélectionnez le contenu de la recherche -> Avertissement d'élection de gravité dans le coin inférieur droit -> OK!

1
pixparker

Vous pouvez également le faire manuellement dans le fichier build.gradle:

lintOptions {
    abortOnError false
    disable "Instantiatable"
}
1
Glenn Porter