Mein Thema:resolveAttribute gibt immer null für Attribute
<style name="AppThemeDark" parent="Theme.AppCompat">
<item name="AppButton">@drawable/standard_dark_button_selector</item>
</style>
Dieser Code verwende ich ein Themen-ziehbar zu bekommen:
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);
}
Und das ist der direkte Aufruf:
positive.setBackgroundDrawable(Theme.getThemedDrawable(getBaseContext(), R.attr.AppButton));
Die typedValue.resourceId ist immer 0 und gibt keine echte zeichenorientierte Ressourcen-ID zurück. In diesem Fall wird immer R.drawable.standard_theme_not_f zurückgegeben ound.
Wenn ich diesen Code mit Farben (aus typedValue.data) verwendet, ist es gefüllt und funktioniert.
Wie kann ich das lösen?