Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在rxjava中,在android studio kotlin代码中获取一个错误_Android_Zip_Rx Java - Fatal编程技术网

在rxjava中,在android studio kotlin代码中获取一个错误

在rxjava中,在android studio kotlin代码中获取一个错误,android,zip,rx-java,Android,Zip,Rx Java,这段代码给出了Android Studio中的一个错误 有什么问题?你能帮助我吗? 我想将其转换为Kotlin代码。在android studio中转换时会出现错误 请帮我转换成kotlin代码 observable=observable.zip(observable.create(newobservableOnSubscribe)(){ @凌驾 public void subscribe(observeItemer发射器)引发异常{ 如果(聊天列表!=空){ 用于(Tbl_聊天室:聊天室列表)

这段代码给出了Android Studio中的一个错误 有什么问题?你能帮助我吗? 我想将其转换为Kotlin代码。在android studio中转换时会出现错误

请帮我转换成kotlin代码

observable=observable.zip(observable.create(newobservableOnSubscribe)(){
@凌驾
public void subscribe(observeItemer发射器)引发异常{
如果(聊天列表!=空){
用于(Tbl_聊天室:聊天室列表){
onNext(聊天室);
}
}
emitter.onComplete();
}
}),
可观察的时间间隔(800,时间单位毫秒),
(obs,定时器)->obs)
.doOnNext(项目->{
});
观察员=新的可处置观察员(){
@凌驾
public void onNext(待定){
chatList_adapter.addItem(聊天室);
聊天列表。添加(聊天);
recyclerView.scrollToPosition(chatList_adapter.getItemCount()-1);
}
@凌驾
公共无效申报人(可丢弃的e){
Log.e(标记“onError:+e.getMessage());
}
@凌驾
未完成的公共空间(){
Log.e(标签“onComplete:”);
}
};
一次性=可观察
.observeOn(AndroidSchedulers.mainThread())
.subscribeOn(Schedulers.io())
.主席(观察员);
这个怎么样

缺失代码

    internal class Tbl_Chat()
转换代码

    val chat_list = listOf<Tbl_Chat>(Tbl_Chat(), Tbl_Chat(), Tbl_Chat())

    // fromIterable instead of Observable#create
    val iterator = Observable.fromIterable(chat_list)
    val interval = Observable.interval(800, TimeUnit.MILLISECONDS)

    val obs = Observable.zip(iterator, interval, BiFunction { chat: Tbl_Chat, time: Long -> chat })
            .doOnNext { _ -> /* whatever */ }

    val disposable = obs
            .observeOn(AndroidSchedulers.mainThread())
            .subscribeOn(Schedulers.io())
            // subscribe instead of subscribeWith
            .subscribe({ _ ->
                // your side-effects for onNext
            }, { t: Throwable? -> /* logging */ }, { /* logging */ });
val chat_list=listOf(Tbl_chat(),Tbl_chat(),Tbl_chat())
//fromIterable而非Observable#创建
val迭代器=可观察的。fromIterable(聊天列表)
val interval=可观察的时间间隔(800,时间单位毫秒)
val obs=Observable.zip(迭代器,间隔,双功能{chat:Tbl_chat,time:Long->chat})
doOnNext先生{{{->/*随便*/}
val=obs
.observeOn(AndroidSchedulers.mainThread())
.subscribeOn(Schedulers.io())
//订阅而不是订阅
.subscribe({{{->
//onNext的副作用
},{t:Throwable?->/*logging*/},{/*logging*/});

我不得不说,这种可观察的拉链可能不是你想要的。最有可能要与latestfrom/combinelatetest一起使用它的意思是什么?更新代码。我想将java代码转换为kotlinwhere call emitter.onNext(chat);在您的代码中?何处调用:chatList\u adapter.addItem(chat);聊天列表。添加(聊天);recyclerView.scrollToPosition(chatList_adapter.getItemCount()-1);在你的代码里??在哪里调用emitter.onnext(聊天);?