Установка liveData из пользовательского класса приложения

Я добавляю LiveData для представления статуса. Это класс ViewModel:

public class MyViewModel extends AndroidViewModel {
    // Create a LiveData with a Status
    private MutableLiveData<Integer> status;

    public TsViewModel(@NonNull Application application) {
        super(application);
    }

    public MutableLiveData<Integer> getCurrentStatus() {
        if (status == null) {
            status = new MutableLiveData<Integer>();
        }
        return status;
    }
    void setCurrentStatus(int stat) {
        status.setValue(stat);
    }
}

Текущий статус устанавливается в машинном коде. Я хочу, чтобы этот статус был обновлен в пользовательском классе приложения. Но похоже, что я не могу получить viewModel из этого класса:

public class MyApplication extends Application {

    public static Context context;
    public void onCreate() {
        super.onCreate();
        MyApplication .context = getApplicationContext();
        model = new ViewModelProvider(this).get(MyViewModel.class);  /* <---- this fails */
    }
}

Идея действительно состоит в том, чтобы установить этот статус как можно раньше, и чтобы это знал любой наблюдатель. Как я могу этого добиться?

0 ответов

Другие вопросы по тегам