0

我想从 ViewModel 类中的 SharedPreferences 中得到一些东西。构造函数只有一个 SavedStateHandle 参数,我不知道如何获取上下文。这是我的代码:

public class PropertyDetailActivityViewModel extends ViewModel{

    public enum Event{
        Ok, Ko
    }

    public MutableLiveData<Event> event = new MutableLiveData<>();

    public MutableLiveData<Property> property = new MutableLiveData<>();

    private final Property propertyExtra;


    public PropertyDetailActivityViewModel(SavedStateHandle savedStateHandle) {
        propertyExtra = savedStateHandle.get(PropertyDetailActivity.PROPERTY_EXTRA);
        property.postValue(propertyExtra);
    }

    public void deleteProperty()
    {
        if(AppPreferences.getAgentName(//How to get context here?) == propertyExtra.agent)
        {

        }
    }
}

视图类中的 viewModel 定义:

viewModel = new ViewModelProvider(this, new SavedStateViewModelFactory(getApplication(), this, getIntent().getExtras())).get(PropertyDetailActivityViewModel.class);
4

0 回答 0