Ich stelle fest, für Context.getTheme()
, es in der Regel nicht gut funktioniert, wenn wir Application
als Context
Warum getTheme nicht gut auf Anwendung funktioniert
MyApplication.singletonInstance().getTheme().resolveAttribute(R.attr.actionBarDeleteIcon, typedValue, true);
// typedValue.resourceId will be 0x0, which is invalid
jedoch verwenden, wenn ich Activity
als Kontext verwenden, es funktioniert gut
MyFragment.this.getActivity().getTheme().resolveAttribute(R.attr.actionBarDeleteIcon, typedValue, true);
// typedValue.resourceId is valid
ich mich gefragt, warum wir schreiben durch Application
nicht lösen können?
In Manifest finden wir spezifische Themeninformationen bei Application
Ebene. Also, ich dachte, das Thema von Application
Objekt zu bekommen macht Sinn.
<application
android:theme="..."