wake-up-neo.com

R.styleable kann nicht aufgelöst werden, warum?

Ich habe eine resources.xml datei unter direcotry values ​​/ , das ist

/values/resources.xml

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

Wenn ich versuche, über R.styleable.TheMissingTabWidget auf diese Ressource zuzugreifen, beschwert sich Eclipse, dass styleable nicht aufgelöst werden kann oder kein Feld ist. Warum? Warum kann ich nicht auf diese Ressource zugreifen? (Ich verwende Android 2.1-Update).

13
Leem

plz machen values/attrs.xml Ressourcen wie folgt

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

Gemäß den SDK-Versionshinweisen ,

Die Android.R.styleable-Klasse und ihre Felder wurden aus der öffentlichen API entfernt, um die Vorwärtskompatibilität für Anwendungen zu gewährleisten. Die in Android.R.styleable deklarierten Konstanten waren plattformspezifisch und wurden von Version zu Version willkürlich geändert, sodass sie für Anwendungen nicht geeignet waren. Sie können weiterhin auf die ansprechbaren Attribute der Plattform über Ihre Ressourcen oder Ihren Code zugreifen. Deklarieren Sie dazu ein benutzerdefiniertes Ressourcenelement mit einer in der res/values ​​/ R.attrs-Datei Ihres Projekts, und deklarieren Sie dann das Attribut darin. Beispiele finden Sie unter "sdk" /samples/ApiDemos/res/values/attrs.xml. Weitere Informationen zu benutzerdefinierten Ressourcen finden Sie unter Benutzerdefinierte Layoutressourcen . Beachten Sie, dass die Dokumentation zu Android.R.styleable weiterhin im SDK enthalten ist, jedoch nur als Referenz für die stilisierbaren Attribute der Plattform für die verschiedenen Elemente.

Schauen Sie sich den ApiDemos-Code und die Datei res/values ​​/ attrs.xml an

13
xevincent

Sie können wie folgt auf Ihre Paketstufe zugreifen

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

Was Sie tun müssen, ist Ihre styleable in attrs.xml und nicht resources.xml zu deklarieren. Dann können Sie es in Ihrem Code wie folgt referenzieren:

R.styleable.TheMissingTabWidget
0
IgorGanapolsky