2017-06-27 91 views
2

我是Kotlin的新手。我有包含兩個方法定義的接口:現在Android kotlin覆蓋onCreateView()方法內的接口方法

fun onSuccess(result: T) 
fun onFailure(e: Exception) 

,在我的片段我已經實現了這個接口,並希望內部使用這些方法爲:

override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, 
           savedInstanceState: Bundle?): View? { 
    .................. 
    .................. 
    override fun onSuccess(result: String) {} 
    override fun onFailure(e: Exception) {} 
} 

在java中我們可以@override使用但在這裏我得到的錯誤'修改'覆蓋'不適用於本地功能'。我在科特林工作了2-3天,我喜歡它。但有些時候需要一些時間進行調試的小問題。

回答

2

您需要在片段上實現接口並將重寫方法移到您的onCreateView方法之外。

類MyFragment:片段,MyInterface的

不能覆蓋的方法中的方法。另一種選擇是,你可以創建下面

window.addMouseListener(object : MouseAdapter() { 
    override fun mouseClicked(e: MouseEvent) { 
     // ... 
    } 

    override fun mouseEntered(e: MouseEvent) { 
     // ... 
    } 
}) 

https://kotlinlang.org/docs/reference/object-declarations.html

+0

對象表達式證明這工作如果我之外聲明方法。但我的問題是,如果有一種方法,我們可以在java中聲明方法。 –

+0

更新了答案,您不能用Java中的其他方法重寫方法,但可以創建對象表達式。 – Dom