Нахождение значения имени ссылки на R - PullRequest
1 голос
/ 29 июля 2011

Я выполняю некоторую отладку в своем приложении, в основном загружая пользовательские стили из styles.xml, когда моему пользовательскому представлению присваивается style="@styles/CustomStyle", и такие атрибуты, как custom:attribute="custom value"

Я посмотрел на TextView источник, чтобы увидеть, как Android загружает стили / атрибуты, и я имитирую это.Однако мне не передают ни одного из моих R.styleables через некоторые из вызовов моих конструкторов, и поэтому я пытаюсь заглянуть туда, чтобы увидеть, какие ресурсы поступают.

Я использую obtainStyledAttributes() длязагрузите эти пары ключ / значение в TypedArray, однако мне интересно, есть ли простой способ преобразовать R.styleable.CustomWidget_customAttribute из int, который читает R, в его ссылочное имя.

По сути, я хочу, чтобы LogCat сказал: «Нам дали R.styleable.xxx», а не «Нам дали 1487214712442»

Ответы [ 2 ]

2 голосов
/ 29 июля 2011

Посмотрите на этот метод: http://developer.android.com/reference/android/content/res/Resources.html#getResourceName(int)

Возвращает полное имя для данного идентификатора ресурса. Это имя представляет собой одну строку в форме «пакет: тип / запись».

0 голосов
/ 29 июля 2011

Скорее всего, вы не сможете сделать это явно, так как все ресурсы хранятся в сгенерированном классе Java без доступной ссылки на исходные строки.

Однако лучше всего переопределить toString ()метод для класса R.

Посмотрите, работает ли что-то подобное.

Надеюсь, это помогло!

...