代码之家  ›  专栏  ›  技术社区  ›  Hussnain Haidar

Android:从PageKeyedDataSource获取当前页令牌

  •  0
  • Hussnain Haidar  · 技术社区  · 6 年前

       override fun loadInitial(params: LoadInitialParams<String>, callback: LoadInitialCallback<String, Item>) {
        updateState(State.LOADING)
        compositeDisposable.add(
                networkService.getPlaylistVideos(Constants.PLAYLIST_ID
                ,""
                ,Constants.API_KEY)
                .subscribe( { response ->
                    updateState(State.DONE)
                    callback.onResult(response.items, response.prevPageToken, response.nextPageToken)
                },
                        {
                            updateState(State.ERROR)
                            setRetry(Action { loadInitial(params,callback) })
                        }
                )
        )
    }
    
    override fun loadAfter(params: LoadParams<String>, callback: LoadCallback<String, Item>) {
        updateState(State.LOADING)
        compositeDisposable.add(
                networkService.getPlaylistVideos(Constants.PLAYLIST_ID, params.key,Constants.API_KEY)
                        .subscribe(
                                { response ->
                                    updateState(State.DONE)
                                    callback.onResult(response.items
                                            ,response.nextPageToken)
    
                        }, {
                            updateState(State.ERROR)
                            setRetry(Action { loadAfter(params, callback) })
                        })
        )
    }
    
    override fun loadBefore(params: LoadParams<String>, callback: LoadCallback<String, Item>) {
        updateState(State.LOADING)
        compositeDisposable.add(
            networkService.getPlaylistVideos(Constants.PLAYLIST_ID,params.key,Constants.API_KEY)
                .subscribe({ response ->
                    updateState(State.DONE)
                    callback.onResult(response.items
                    ,response.prevPageToken)
                },{
                    updateState(State.ERROR)
                    setRetry(Action { loadBefore(params, callback) })
                })
        )
    }
    

    有什么方法可以获得页面令牌吗?如何从活动/viewmodel中的PageKeyedDataSource获取当前加载的页标记。

    0 回复  |  直到 6 年前