[英]In Kotlin, how does a constructor with anonymous class work?
Consider a functionality F, which depends on Android lifecycle methods. 考虑功能F,它取决于Android生命周期方法。 I have implemented this functionality in an Activity A. Any other activity which wants to implement this functionality can simply extend A. The results are sent back to the child activity via an interface. 我已经在活动A中实现了此功能。想要实现此功能的任何其他活动都可以简单地扩展A。结果通过接口发送回子活动。 Example: 例:
// 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)
}
}
How to access the result from Activity A (ie, string
) in Activity B. For example, how do I set it in a textView present in Activity B? 如何从活动B中的活动A(即string
)访问结果。例如,如何在活动B中的textView中设置结果?
If BActivity
inherits from AActivity
- inside BActivity
you can get what you want: 如果BActivity
继承自AActivity
在BActivity
您可以获得所需的内容:
override fun someFun(): String {
val parentResult = super.someFun()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.