我想从 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);