web-dev-qa-db-fra.com

R.styleable ne peut pas être résolu, pourquoi?

J'ai un resources.xml fichier situé sous direcotry values ​​/ , c'est

/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, Eclipse se plaint du fait que le style 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 mise à jour).

13
Leem

plz faire des ressources values/attrs.xml comme celle-ci

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

Selon les Notes de version du SDK ,

La classe Android.R.styleable et ses champs ont été supprimés de l'API publique afin de mieux assurer la compatibilité en aval des applications. Les constantes déclarées dans Android.R.styleable étaient spécifiques à la plate-forme et sujettes à des modifications arbitraires d'une version à l'autre. Vous pouvez toujours accéder aux attributs stylés de la plate-forme à partir de vos ressources ou de votre code. Pour ce faire, déclarez un élément de ressource personnalisé à l'aide de l'un des éléments du 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 Ressources de présentation personnalisée . 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 plate-forme pour les différents éléments.

Consultez le code ApiDemos et le fichier res/values ​​/ attrs.xml

13
xevincent

Vous pouvez accéder à votre paquet stylisé comme ceci

<yourpackagename>.R.styleable.name
0
Ishan Fernando

Ce que vous devez faire, c'est déclarer votre style dans attrs.xml , pas resources.xml . Ensuite, vous pourrez vous y référer à partir de votre code comme ceci:

R.styleable.TheMissingTabWidget
0
IgorGanapolsky