Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.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
如何像java一样在kotlin中自动实现/生成方法_Java_Android_Android Studio_Kotlin - Fatal编程技术网

如何像java一样在kotlin中自动实现/生成方法

如何像java一样在kotlin中自动实现/生成方法,java,android,android-studio,kotlin,Java,Android,Android Studio,Kotlin,所以我对科特林还是个新手。您如何在Kotlin(订阅部分)中执行以下操作 animalObservable .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .订阅(新观察员){ @凌驾 认购的公共无效(一次性d){ } @凌驾 public void onNext(字符串s){ } @凌驾 公共无效申报人(可丢弃的e){ } @凌驾 未完成的公共空间(){ } }); 在java中,我所要做的就是

所以我对科特林还是个新手。您如何在Kotlin(订阅部分)中执行以下操作

animalObservable
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.订阅(新观察员){
@凌驾
认购的公共无效(一次性d){
}
@凌驾
public void onNext(字符串s){
}
@凌驾
公共无效申报人(可丢弃的e){
}
@凌驾
未完成的公共空间(){
}
});
在java中,我所要做的就是键入“newob”并按enter键。然后它自动生成需要实现的方法。(上)

这是我在科特林找到的唯一办法。我必须输入以下内容:“订阅(对象:Observer{})

动物观察
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.订阅(对象:观察员){
})
然后我可以通过执行命令N(在mac上)生成方法吗


我确信必须有一种不同的方法来实现这一点?

您是对的:要构造匿名类,您应该使用。因此,在您的示例中,您将完全按照上面的说明进行操作,即:

...
.subscribe(object : Observer<String>() {
    // Implementation of interface goes here
})
。。。
.subscribe(对象:Observer(){
//接口的实现在这里
})
IntelliJ将突出显示
对象
关键字,该关键字带有一个红色的曲线,告诉您它没有实现该界面,因此您可以单击它并按Alt+Enter(在Linux上),这将为您提供实现
观察者
成员的选项


或者,您可以在块内单击并使用常规快捷方式(例如Linux上的Ctrl+O)打开上面显示的“覆盖成员”对话框。

您通常应该使用DisposableObserver
animalsObserve
        .subscribeOn(Schedulers.io())
        .observeOn(AndroidSchedulers.mainThread())
        .subscribe(object : Observer<String> {

        })
...
.subscribe(object : Observer<String>() {
    // Implementation of interface goes here
})