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).
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>
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
Sie können wie folgt auf Ihre Paketstufe zugreifen
<yourpackagename>.R.styleable.name
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