首页 > 解决方案 > 如何在 MVVM 中调用网络两次?

问题描述

我打电话给Flickr API search我用随机标签获取照片的 ID,现在我需要使用这些 ID 来调用Flickr API getSizes并获取Arraylist<String>带有 url 的照片。我正在尝试这样做:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //setContentView(R.layout.activity_main);

    mActivityStartBinding = getViewDataBinding();
    mainViewModel.firstTime().observe(this, new Observer<ArrayList<String>>() {
        @Override
        public void onChanged(@Nullable ArrayList<String> ids) {
            mainViewModel.firstTime();
            Timber.d("-------MainActivity-------1:");

            mainViewModel.getPhotos(ids);
            Timber.d("-------MainActivity-------2:"++ids.toString());<<-----I'd like to have here the URLs but this will print the ids

        }
    });

}

如果我不将mainViewModel.getPhotos(ids);IF 放入其中,我不知道如何获取 PhotoUrls,因为我需要来自mainViewModel.firstTime();.

顺便说一句,我正在使用 MVVM 方法。有谁知道我该怎么做?

标签: javaandroidmvvm

解决方案


推荐阅读