Android Kotlin中的嵌套接口替代方案

Android Kotlin中的嵌套接口替代方案,android,kotlin,Android,Kotlin,好的,我有一个接口,里面很少有接口,代码在Kotlin中是这样的 interface IStreamRepository : IBaseRepository { interface OnAddStreamCallback { fun onSuccess() fun onError(message: String) } interface OnGetAllStreamsCallback { fun onSuccess(streams: ArrayList<Stre

好的,我有一个接口,里面很少有接口,代码在Kotlin中是这样的

interface IStreamRepository : IBaseRepository {

interface OnAddStreamCallback {
    fun onSuccess()
    fun onError(message: String)
}

interface OnGetAllStreamsCallback {
    fun onSuccess(streams: ArrayList<Stream>)
    fun onError(message: String)
}

interface OnGetStreamByNameCallback {
    fun onSuccess(stream: Stream)
    fun onError(message: String)
}

interface OnDeleteStreamCallback {
    fun onSuccess()
    fun onError(message: String)
}
}

编译器抛出以下错误
OnGetAllStreamsCallback没有构造函数
,如何解决此问题?

链接的问题与嵌套注释类相关。 您可以无问题地嵌套接口:

interface Outer {
    interface Inner
}

fun main(args: Array<String>) {
    val o = object : Outer {}
    val i = object : Outer.Inner {}
}
接口外部{
界面内部
}
趣味主线(args:Array){
val o=对象:外部{}
val i=对象:外部.内部{}
}
当我尝试执行getAllStreamsCallBack=IStreamRepository.OnGetAllStreamsCallback(){并重写OnGetAllStreamsCallback接口中的方法}时,编译器会在OnGetAllStreamsCallback没有构造函数时抛出以下错误


对于非嵌套接口,也会出现同样的错误。语法是
getAllStreamsCallBack=object:IStreamRepository.OnGetAllStreamsCallback{…}
。如果它是一个类,您需要在名称后面加上
()
,而对于一个您不需要的接口。

这个问题涉及注释(),请在下次发布问题之前确保问题确实存在。
interface Outer {
    interface Inner
}

fun main(args: Array<String>) {
    val o = object : Outer {}
    val i = object : Outer.Inner {}
}