Tôi nhận ra, cho Context.getTheme()
, nó thường không làm việc tốt nếu chúng tôi sử dụng Application
như Context
Tại sao getTheme không hoạt động tốt trên Application
MyApplication.singletonInstance().getTheme().resolveAttribute(R.attr.actionBarDeleteIcon, typedValue, true);
// typedValue.resourceId will be 0x0, which is invalid
Tuy nhiên, nếu tôi sử dụng Activity
như bối cảnh, nó hoạt động well
MyFragment.this.getActivity().getTheme().resolveAttribute(R.attr.actionBarDeleteIcon, typedValue, true);
// typedValue.resourceId is valid
Tôi đã tự hỏi tại sao chúng tôi không thể giải quyết thuộc tính thông qua Application
?
Trong tệp kê khai, chúng tôi tìm thấy thông tin chủ đề cụ thể ở mức Application
. Vì vậy, tôi nghĩ rằng nhận được chủ đề từ Application
đối tượng không có ý nghĩa.
<application
android:theme="..."