2017-11-02 15 views
0

私はちょうどkotlinを学び始め、現在Android Studioから生成されたコードを読み始めました。私はので、私は、リスナーなぜ私はkotlinでインターフェイスを渡すことができませんか?

private fun setTest(listener: TestListener) { 

} 

を設定するには、テスト・インタフェース

interface TestListener { 
    fun onTest() 
} 

funを作成したが、この時点で呼び出しました

view.setOnClickListener { callAnotherMethod() } 

ような何かを行うことができますことに気付きましたsetTest{ callAnotherMethod() }は役に立たない。なぜか分からない。 setOnClickedListener()はインタフェースを要求しており、setTestもそうです。同時に、OnClickListenerはインターフェイスであるため、TestListenerもそうです。 TestListenerで同じことができないのはなぜですか?

+1

SAM変換はJavaメソッドのためです – Sola

答えて

0

あなたはこのことを試してください:

test(object : TestListener { 

override fun onTest() { 

} 
}) 

たり、それを使用します。

val aTestListner = object : TestListener { 
    override fun onTest() { 
} 
}TestListener 
関連する問題