Моя тема:resolveAttribute всегда возвращает значение NULL для атрибутов
<style name="AppThemeDark" parent="Theme.AppCompat">
<item name="AppButton">@drawable/standard_dark_button_selector</item>
</style>
Этот код я использую, чтобы получить тематические вытяжке:
public static Drawable getThemedDrawable(Context context, int resource) {
TypedValue typedValue = new TypedValue();
Resources.Theme theme = context.getTheme();
theme.resolveAttribute(resource, typedValue, true);
if(typedValue.resourceId == 0) {
return context.getResources().getDrawable(R.drawable.standard_theme_not_found);
}
else
return context.getResources().getDrawable(typedValue.resourceId);
}
И это прямой вызов:
positive.setBackgroundDrawable(Theme.getThemedDrawable(getBaseContext(), R.attr.AppButton));
Файл typedValue.resourceId всегда равен 0 и не возвращает никакого действительного идентификатора ресурса, в этом случае он всегда возвращает R.drawable.standard_theme_not_f ound.
Когда я использую этот код с цветами (исходящими из typedValue.data), он заполняется и работает.
Как я могу это решить?