Android:在MVVM中使用Transformations.switchMap进行顺序调用
我尝试对网络进行两次连续调用,其中第二次调用的参数是第一次调用的结果。我正在尝试使用MVVM和Transformations.switchMap执行此操作,但遇到异常“java.lang.IllegalArgumentException:无法为com.rdev.image.obj.flickresultsize类创建调用适配器”。有人知道怎么做吗Android:在MVVM中使用Transformations.switchMap进行顺序调用,android,mvvm,android-livedata,android-mvvm,Android,Mvvm,Android Livedata,Android Mvvm,我尝试对网络进行两次连续调用,其中第二次调用的参数是第一次调用的结果。我正在尝试使用MVVM和Transformations.switchMap执行此操作,但遇到异常“java.lang.IllegalArgumentException:无法为com.rdev.image.obj.flickresultsize类创建调用适配器”。有人知道怎么做吗 public LiveData<ArrayList<String>> getValuesAPI(String url) {
public LiveData<ArrayList<String>> getValuesAPI(String url) {
LiveData<ArrayList<String>> ids = AbsentLiveData.create();
LiveData<ArrayList<String>> urls = AbsentLiveData.create();
final MutableLiveData<ArrayList<String>> updatedResult = new MediatorLiveData<>();
//This method waits until it has the data to process
ids = Transformations.switchMap(getValues(url), apiResponse-> {
ArrayList<String> listaIds = new ArrayList<>();
if(apiResponse.isSuccessful()) {
if (apiResponse.body != null) {
FlickrPhotos flickrPhotos = new FlickrPhotos();
flickrPhotos = apiResponse.body.getPhotos();
FlickrResultSize flickrResultSizes = new FlickrResultSize();
for(int i=0;i<flickrPhotos.getPhoto().size();i++){
String id = flickrPhotos.getPhoto().get(i).getId();
String link = Utils.createURL(2,id);
flickrResultSizes = getPhotos(link); -----------I want to call this, but I can't
Timber.d("depois do getPhotos");
listaIds.add(id);
}
updatedResult.postValue(listaIds);
}
}
});
return ids;
}
@有什么建议吗?@commonware有什么建议吗?
public FlickrResultSize getPhotos(String link){
return mMainApiHelper.getPhotos(link);
}