如何解决在rxjava中,android studio kotlin代码中出现错误
此代码在Android Studio中给出错误 问题是什么?你能帮助我吗? 我想将其转换为Kotlin代码。在android studio中将其转换为错误
请帮助我转换为kotlin代码。
observable = Observable.zip(Observable.create(new ObservableOnSubscribe<Tbl_Chat>() {
@Override
public void subscribe(ObservableEmitter<Tbl_Chat> emitter) throws Exception {
if (chat_list!= null) {
for (Tbl_Chat chat : chat_list) {
emitter.onNext(chat);
}
}
emitter.onComplete();
}
}),Observable.interval(800,TimeUnit.MILLISECONDS),(obs,timer) -> obs)
.doOnNext(item -> {
});
observer = new disposableObserver<Tbl_Chat>() {
@Override
public void onNext(Tbl_Chat chat) {
chatList_adapter.addItem(chat);
chat_list.add(chat);
recyclerView.scrollToPosition(chatList_adapter.getItemCount() - 1);
}
@Override
public void onError(Throwable e) {
Log.e(TAG,"onError: " + e.getMessage());
}
@Override
public void onComplete() {
Log.e(TAG,"onComplete: ");
}
};
disposable = observable
.observeOn(AndroidSchedulers.mainThread())
.subscribeOn(Schedulers.io())
.subscribeWith(observer);
解决方法
那呢?
缺少代码
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 */ });
我不得不说,Observable#zip可能不是您想要的。您最有可能要与LatestFrom / CombineLatest
一起使用版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。