如何从pagedlist的另一个活动中获取viewmodel的数据以显示viewpager

问题描述

我使用分页库从服务器获取数据并将其显示给 Recyclerview。 我在数据源类中使用了 PageKeyedDataSource。 现在我必须在单击 Recyclerview 项目时在新活动的 Viewpager 中显示数据,并在滚动 viewpager 时显示该项目的下一个和上一个数据。 但我的问题是,我无法从 viewmodel 获取 PagedList 数据以在 Viewpager 上显示,我是 android 和分页库的新手,请建议我一些详细的解决方案,提前致谢

解决方法

我通过简单地创建 InstanceNameViewModel Factory 解决了这个问题

public class SingletonNameViewModelFactory extends ViewModelProvider.NewInstanceFactory {


    NameViewModel t;

    public SingletonNameViewModelFactory() {
      //  t = provideNameViewModelSomeHowUsingDependencyInjection
    }

    @Override
    public NameViewModel create(Class<NameViewModel> modelClass) {
        return t;
    }
}

并使用 mModel = ViewModelProviders.of(this,myFactory).get(NameViewModel.class);