是否有可能在Android中使用带有MVP架构的分页库?

问题描述 投票:1回答:1

我想在我的应用程序中使用分页库,我已经看到他们都使用MVVM架构的视图模块组件的多个示例,但我的应用程序的大多数部分是在MVP架构中,我不想使用MVVM,所以是有没有办法用MVP架构实现分页库的分页?

android android-architecture-components android-mvp android-mvvm
1个回答
1
投票

是的你可以。您可以启动数据源工厂并在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方法

presenter.getAssessments(id);

它对我有用。

© www.soinside.com 2019 - 2024. All rights reserved.