Android Цвет дисплея отличается от класса ViewModel - PullRequest
0 голосов
/ 26 марта 2020

Я пытаюсь получить значение цвета, которое объявлено в цветах. xml и пытаюсь получить из класса ViewModel. В классе ViewModel цвет отображается правильно, но когда я запускаю приложение в эмуляторе, цвет будет отображаться по-другому. Я использую MutableLiveData для получения значения цвета из цветов. xml. Есть ли у вас какие-либо идеи, чтобы получить правильный цвет от ViewModel?

Большое спасибо

screen_1

screen_2

Вот мой код

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;
}}

1 Ответ

0 голосов
/ 26 марта 2020

В вашей активности XML или в Android Манифесте (декларация активности), проверьте тему, которую вы используете, она может быть переопределена другой темой с colorAccent. Если нет, попытайтесь переименовать colorAccent во что-то другое, например, colorBgRed, затем пересоберите и попробуйте.

...