2017-06-27 88 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