android 我应该如何初始化Kotlin类中的接口以将数据传递给主Activity?

eqoofvh9  于 2023-01-07  发布在  Android
关注(0)|答案(1)|浏览(146)

这是我的界面:

interface ApiResponseListener {
fun didFetch(response: Response<RandomRecipeApiResponse>)
fun didError(msg: String)  }

我想把数据传递到这个接口,如下所示:

val apiResponseListener: ApiResponseListener // here the interface should be initialize and I don't know how
apiResponseListener.didError("test")
apiResponseListener.didFetch(response)
vngu2lb8

vngu2lb81#

这就是如何实现您创建的接口https://pl.kotl.in/K5b9dpU5O

interface ApiResponseListener {
    fun didFetch(response: Response<RandomRecipeApiResponse>)
    fun didError(msg: String)  
}

fun main() {
    val apiResponseListener = object : ApiResponseListener {
        override fun didFetch(response: Response<RandomRecipeApiResponse>) = Unit
        override fun didError(msg: String) { println(msg) } 
    } 
    
    apiResponseListener.didError("test")
    apiResponseListener.didFetch(Response())
}

在此阅读更多信息:

  1. https://kotlinlang.org/docs/interfaces.html
  2. https://kotlinlang.org/docs/object-declarations.html
建议

在这种情况下,首选关键字on作为前缀,例如onSuccess(..)onError(..)

相关问题