我关注了https://github.com/googlecodelabs/android-build-an-app-architecture-components。
我希望能够按城市名称获取天气数据。
我已经在DAO类中创建了所需的方法。
我已将Repository类中的代码更改为:
public LiveData<List<ListWeatherEntry>> getCurrentWeatherForecasts(String cityName) {
initializeData();
Date today = SunshineDateUtils.getNormalizedUtcDateForToday();
return mWeatherDao.getCurrentWeatherForecasts(today,cityName);
}
但是在我的ViewModel类中,当我尝试在Transformation.switchMap中使用此函数时,出现了编译时错误,即方法getCurrentWeatherForecasts(String)无法应用于getCurrentWeatherForecasts()。
这是我在ViewModel类中的代码:
private final SunshineRepository mRepository;
public LiveData<List<ListWeatherEntry>> mForecast;
private final MutableLiveData<String> cityName = new MutableLiveData();
public MainActivityViewModel(SunshineRepository repository) {
this.mRepository = repository;
mForecast = Transformations.switchMap(this.cityName,(city)->
mRepository.getCurrentWeatherForecasts(city));
}
我已经阅读了Android的Transformations.switchMap文档,但是我不知道自己在做什么错。
任何人都可以向我解释我的代码有什么问题。