所以我对Kotlin还是很陌生。您如何在Kotlin中进行以下操作(在订阅部分中)?
animalObservable
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<String>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(String s) {
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
}
});
在Java中,我要做的就是键入“ new Ob”,然后按Enter。然后,它会自动生成需要实施的方法。 (以上)
这是我在Kotlin中弄清楚的唯一方法。我必须输入以下内容:“ subscribe(object:Observer {})
animalsObserve
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(object : Observer<String> {
})
然后我可以通过执行命令N(在Mac上)来生成方法
我确定必须采用其他方法来做到这一点?
答案 0 :(得分:0)
您是对的:要构造一个匿名类,您应该使用object expression。因此,在您的示例中,您将按照上面的说明进行操作,即:
...
.subscribe(object : Observer<String>() {
// Implementation of interface goes here
})
IntelliJ将以红色花样突出显示object
关键字,并告诉您它没有实现该接口,因此您可以单击它并按 Alt + Enter (在Linux上),您可以选择实现Observer
的成员。
或者,您可以在块内单击并使用常规快捷方式(例如,在Linux上为 Ctrl + O ),以显示您显示的“覆盖成员”对话框以上。