Почему R.styleable не может быть решена, почему?

У меня есть файл resources.xml, расположенный под значениями directcotry/, Это

/values/resources.xml

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

В моем java-коде, когда я пытаюсь получить доступ к этому ресурсу с помощью R.styleable.TheMissingTabWidget, eclipse жалуется, что стиль не может быть разрешен или не является полем. Зачем? Почему я не могу получить доступ к этому ресурсу? (Я использую обновление Android версии 2.1).

Ответ 1

plz make values/attrs.xml ресурсы, подобные этому

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

Ответ 2

В соответствии с Примечания к выпуску SDK,

Класс android.R.styleable и его поля были удалены из общедоступного API, чтобы лучше обеспечить прямую совместимость приложений. Константы, объявленные в android.R.styleable, были специфичными для платформы и подвергались произвольным изменениям в разных версиях, поэтому они не были пригодны для использования приложениями. Вы по-прежнему можете получить доступ к атрибутам, настраиваемым платформой, из ваших ресурсов или кода. Для этого объявите пользовательский элемент ресурса, используя в вашем проекте res/values ​​/R.attrs файл, затем объявите атрибут внутри. Например, см. "Sdk" /samples/ApiDemos/res/values/attrs.xml. Дополнительные сведения о настраиваемых ресурсах см. В разделе Пользовательские ресурсы макета. Обратите внимание, что документация по android.R.styleable по-прежнему предоставляется в SDK, но только в качестве ссылки на атрибуты платформы для различных элементов.

Посмотрите на код ApiDemos и файл res/values ​​/attrs.xml

Ответ 3

Что вам нужно сделать, это объявить свой стиль в attrs.xml, а не resources.xml. Затем вы сможете обратиться к нему из своего кода следующим образом:

R.styleable.TheMissingTabWidget