繁体   English   中英

是否可以在android中使用具有MVP架构的分页库?

[英]Is it possible to use paging library with MVP architecture in android?

我想在我的应用程序中使用分页库,我已经看到多个示例,它们都使用具有 MVVM 架构的视图模式组件,但是我的应用程序的大部分部分都在 MVP 架构中,我不想使用 MVVM,所以也是有什么方法可以使用具有 MVP 架构的分页库实现分页吗?

是的你可以。 您可以启动数据源工厂并在 Presenter 中实现方法,例如

private void initData(String id) {
    executor = Executors.newFixedThreadPool(5);

    factory = new EvaluationDataSourceFactory(compositeDisposable, api, id);

    networkState = Transformations.switchMap(factory.getDataSource(), source -> {
                Timber.d("network status get");
                return source.getNetworkState();
            }
    );

    PagedList.Config pagedListConfig =
            (new PagedList.Config.Builder())
                    .setEnablePlaceholders(false)
                    .setInitialLoadSizeHint(5)
                    .setPrefetchDistance(5)
                    .setPageSize(5).build();

    error = Transformations.switchMap(factory.getDataSource(), source -> {
        return source.getError();
    });

    assessments = (new LivePagedListBuilder(factory, pagedListConfig)).setFetchExecutor(executor).build();
}

public void getAssessments(String id) {
    initData(id);
}

然后,您可以从您的活动或片段中调用演示者方法,例如

presenter.getAssessments(id);

它对我有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM