it-swarm.com.ru

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

У меня есть resources.xml файл, расположенный в директории values ​​/, это

/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 жалуется, что styleable не может быть разрешен или не является полем . Зачем? Почему я не могу получить доступ к этому ресурсу? (Я использую Android 2.1-обновление).

13
Leem

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

Согласно Примечания к выпуску 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

13
xevincent

Вы можете получить доступ к стилю уровня пакета, как это

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

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

R.styleable.TheMissingTabWidget
0
IgorGanapolsky