10

J'ai un fichier resources.xml situé sous direcotry valeurs/, c'estR.styleable ne peut pas être résolu, pourquoi?

/values/resources.xml

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <declare-styleable name="TheMissingTabWidget"> 
     <attr name="android:divider" /> 
    </declare-styleable> 
</resources> 

Dans mon code java, lorsque je tente d'accéder à cette ressource par R.styleable.TheMissingTabWidget, l'éclipse se plaindre que stylable ne peut pas être résolu ou n'est pas un champ. Pourquoi? Pourquoi je ne peux pas accéder à cette ressource? (J'utilise Android 2.1-mis à jour).

+0

double possible de [Android Bonjour, Galerie tutoriel - « R.styleable ne peut pas être résolu »] (http://stackoverflow.com/questions/1717489/android-hello-gallery-tutorial-r-styleable-ne peut pas être résolu) –

+0

Si vous avez toujours un problème, vérifiez le R que vous utilisez. Vous devez utiliser votre projet R class –

Répondre

13

plz faire values/attrs.xml des ressources comme ce

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <declare-styleable name="**com.admob.android.ads.AdView**"><--- where u want to use 
     <attr name="backgroundColor" format="color" /> 
     <attr name="TextColor" format="color" /> 
     <attr name="keywords" format="string" /> 
     <attr name="refreshInterval" format="integer" /> 
    </declare-styleable> 
</resources> 
+0

Qu'est-ce qui se passe avec les caractères génériques dans votre code? –

11

Selon le SDK Release Notes,

La classe android.R.styleable et ses champs ont été retirés de l'API publique, pour mieux assurer vers l'avenir compatibilité pour les applications. Les constantes déclarées dans android.R.styleable étaient spécifiques à la plate-forme et sujettes à des changements arbitraires d'une version à l'autre, elles n'étaient donc pas utilisables par les applications. Vous pouvez toujours accéder aux attributs stylisés de la plateforme à partir de vos ressources ou de votre code. Pour ce faire, déclarez un élément de ressource personnalisé en utilisant un fichier res/values ​​/ R.attrs de votre projet, puis déclarez l'attribut à l'intérieur. Pour des exemples, voir "sdk" /samples/ApiDemos/res/values/attrs.xml. Pour plus d'informations sur les ressources personnalisées, voir Custom Layout Resources. Notez que la documentation android.R.styleable est toujours fournie dans le SDK, mais uniquement en tant que référence des attributs stylables de la plateforme pour les différents éléments.

allez voir le code ApiDemos et le fichier res/valeurs/attrs.xml

+1

Ceci n'explique pas comment vous mettez 'R.styleable' dans le fichier ** attrs **. –

0

Ce que vous devez faire est de déclarer votre styleable dans attrs.xml, pas resources.xml. Ensuite, vous serez en mesure de se référer à partir de votre code comme ceci:

R.styleable.TheMissingTabWidget