фоновая проблема со стилями и темами

в аттрисе у меня есть

<attr name="bzz" format="color" />

потом в тему

<style name="mytheme" parent="android:Theme">
    <item name="bzz">@color/aaa</item>
</style>

и в коде это прекрасно работает

tv.setBackgroundResource(R.color.aaa);

но когда я это делаю, мне выдает ошибку

tv.setBackgroundResource(R.attr.bzz);

Я не понимаю, в чем проблема, моя логика в том, что я установил bzz как ссылку на цвет, чтобы он работал нормально, но это не так :) он говорит вроде android.content.res.Resources$NotFoundException: Resource ID #0x7f010008, но я не понимаю, какой ресурс не может быть найден?

Я уверен, что цвет есть грехи, если я установлю его напрямую, он отлично работает, что именно не связано правильно

Спасибо


person Lukap    schedule 06.10.2011    source источник
comment
Есть аналогичная проблема. Логически это правильно. Не знаю, почему это не работает.   -  person HGPB    schedule 29.08.2012


Ответы (1)


Вам нужно разрешить attr, чтобы получить соответствующий идентификатор ресурса color. Затем вы можете установить фоновый ресурс TextView на полученный идентификатор ресурса.

Пример кода:

TypedValue typedValue = new TypedValue();
getTheme().resolveAttribute(R.attr.bzz, typedValue, true);
tv.setBackgroundResource(typedValue.resourceId);
person Tiago    schedule 25.01.2013