在Kotlin中,带有匿名类的构造函数如何工作?

时间:2018-11-30 10:24:21

标签: android kotlin

考虑功能F,该功能取决于Android生命周期方法。我已经在活动A中实现了此功能。想要实现此功能的任何其他活动都可以简单地扩展A。结果通过接口发送回子活动。示例:

// interface
interface ACallbacks {
     fun onResult(string: String)
}

// Activity A
open class AActivity
(private val aCallbacks: ACallbacks): AppCompatActivity() {
     // functionality F, which depends on Android lifecycle methods
}

// Activity B
class BActivity: AActivity(object: ACallbacks {
    override fun onResult(string: String) {
         // Q: how to use string in BActivity?
    }
}) {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_b)
    }
}

如何从活动B中的活动A(即string)访问结果。例如,如何在活动B中的textView中设置结果?

1 个答案:

答案 0 :(得分:0)

如果BActivity继承自AActivity-在BActivity内,您可以获得想要的东西:

override fun someFun(): String {
    val parentResult = super.someFun()