我正在尝试获取colors.xml中声明的颜色值,并尝试从ViewModel类获取。在ViewModel类中,颜色显示正确,但是当我在模拟器上运行应用程序时,颜色显示会有所不同。我使用MutableLiveData从colors.xml获取颜色值。您是否有任何想法可以从ViewModel获得正确的颜色?
非常感谢
这是我的代码
public View onCreateView(@NonNull LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) {
root = inflater.inflate(R.layout.fragment_timetable, container, false);
TimeTableViewModel timeTableViewModel = ViewModelProviders.of(this).get(TimeTableViewModel.class);
timeTableViewModel.get_text_bg_red().observe(getViewLifecycleOwner(), new Observer<Integer>() {
@Override
public void onChanged(Integer integer) {
mon_textView_10.setBackgroundColor(integer);
mon_textView_11.setBackgroundColor(integer);
}
});
return root;
}
public class TimeTableViewModel extends ViewModel {
private MutableLiveData<Integer> text_bg_red;
public TimeTableViewModel() {
text_bg_red = new MutableLiveData<>();
text_bg_red.setValue(R.color.colorAccent);
}
LiveData<Integer> get_text_bg_red(){
return text_bg_red;
}}
我正在尝试获取colors.xml中声明的颜色值,并尝试从ViewModel类获取。在ViewModel类中,颜色正确显示,但是当我在模拟器上运行应用程序时,颜色...
在您的活动XML或Android Manifest(活动声明)中,检查您正在使用的主题,该主题可能会被其他具有colorAccent的主题覆盖。如果不是,请尝试将colorAccent重命名为其他名称,例如colorBgRed,然后重建并尝试。