【发布时间】:2023-03-04 20:33:02
【问题描述】:
我正在尝试获取在 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;
}}
【问题讨论】:
标签: android mvvm viewmodel android-viewmodel android-color