RxJava zip运算符生成15+;后台网络呼叫 private fun getAllFollowers(用户:用户){ val items=user.items val requests=ArrayList() for(items!!.iterator()中的项){ add(autocompletepiprovider.getFollowersList(item.followersUrl)) } //这里ZIP没有解析 zip(请求,函数(){ var allResponse=java.util.ArrayList() allResponse.add(它) return@FunctionallResponse }) .subscribeOn(Schedulers.newThread()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(Action1{time->Log.d(标记“我将在此处调用适配器”), Action1{throwable->Log.d(标记“此处处理部件时出错”)} }

RxJava zip运算符生成15+;后台网络呼叫 private fun getAllFollowers(用户:用户){ val items=user.items val requests=ArrayList() for(items!!.iterator()中的项){ add(autocompletepiprovider.getFollowersList(item.followersUrl)) } //这里ZIP没有解析 zip(请求,函数(){ var allResponse=java.util.ArrayList() allResponse.add(它) return@FunctionallResponse }) .subscribeOn(Schedulers.newThread()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(Action1{time->Log.d(标记“我将在此处调用适配器”), Action1{throwable->Log.d(标记“此处处理部件时出错”)} },android,rx-java,retrofit2,rx-java2,rx-android,Android,Rx Java,Retrofit2,Rx Java2,Rx Android,这里,zip运算符未解析。我不确定我是否将正确的参数传递给zip操作符 private fun getAllFollowers(user: User){ val items = user.items val requests = ArrayList<Observable<List<Followers>>>() for (item in items!!.iterator()) { requests.add(Auto

这里,zip运算符未解析。我不确定我是否将正确的参数传递给zip操作符

    private fun getAllFollowers(user: User){
    val items = user.items
    val requests = ArrayList<Observable<List<Followers>>>()
    for (item in items!!.iterator()) {
        requests.add(AutoCompleteApiProvider.getFollowersList(item.followersUrl))
    }
    //here ZIP is not resolving
    Observable.zip(requests, Function<ArrayList<Followers>,java.util.ArrayList<java.util.ArrayList<Followers>>>(){
        var allResponse = java.util.ArrayList<java.util.ArrayList<Followers>>()
        allResponse.add(it)
        return@Function allResponse
    })
            .subscribeOn(Schedulers.newThread())
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe(Action1<ArrayList<ArrayList<Followers>>> { time -> Log.d(TAG, "I will call adapter here") },
                    Action1<Throwable> { throwable ->  Log.d(TAG, "error handing part here")})

}
我想执行以下任务。 使用GitHub API按用户名搜索用户(按 并在RecyclerView中显示结果

因此,作为editText中的用户类型,我正在调用Github API,它给出了用户名建议,但我想根据每个名称的追随者数量对该名称进行排序。 为了让追随者计数,我需要使用用户名作为查询参数进行单独的Github API调用,API将使用追随者对象进行响应。我将计算这个对象

这里棘手的部分是,如果搜索建议API给出30个用户的响应。 我将不得不并行地进行30次网络调用,并且必须等到每个API调用的响应。一旦我有30个响应,我将统计每个用户的关注者,并执行关注者排序,并在recyclerview中显示结果

所以一旦我有了用户名建议。我使用rxjavazip操作符调用API来获取追随者。 我正在制作一个可观察的
列表
,并将此列表传递给zip操作符,这里是我的问题,我应该将哪个函数作为zip操作符中的第二个参数传递。有什么建议吗

rest代码已完成,但我仍停留在zip运算符上。

变量请求是可观察的数组列表
    private fun getAllFollowers(user: User){
    val items = user.items
    val requests = ArrayList<Observable<List<Followers>>>()
    for (item in items!!.iterator()) {
        requests.add(AutoCompleteApiProvider.getFollowersList(item.followersUrl))
    }
    //here ZIP is not resolving
    Observable.zip(requests, Function<ArrayList<Followers>,java.util.ArrayList<java.util.ArrayList<Followers>>>(){
        var allResponse = java.util.ArrayList<java.util.ArrayList<Followers>>()
        allResponse.add(it)
        return@Function allResponse
    })
            .subscribeOn(Schedulers.newThread())
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe(Action1<ArrayList<ArrayList<Followers>>> { time -> Log.d(TAG, "I will call adapter here") },
                    Action1<Throwable> { throwable ->  Log.d(TAG, "error handing part here")})

}
val observefun=Observable.zip(请求,函数{t-> /*写下你自己的逻辑,把所有可观察到的反应结合起来*/ return@FunctionallResponse })

并订阅此observableFun。

函数的签名是Java中的
function
。使用Kotlin中的等效类型定义。您能为我的用例用java编写Function的签名吗?返回类型将为ArrayList我将其作为练习留给您。