如何从内部类调用外部类的方法? 我可以将它作为上下文传递,但我不能对其调用方法
loginButton.setOnClickListener {
ssoManager.login(emailEditText.text.toString(), passwordEditText.text.toString())
.subscribe(object: Consumer<SSOToken> {
val intent = Intent(this@LoginActiviy, PasscodeActivity::class.java)
this@LoginActiviy.startActivity(intent)
})
最佳答案
我不确定您在这里使用的是什么 API,为了答案。
您直接在对象
的主体中而不是在函数中编写代码。创建 Intent
的第一行之所以有效,是因为您正在声明一个属性(而不是局部变量!)。
您应该做的是实现 Consumer
的适当方法,并在其中编写您要执行的代码:
loginButton.setOnClickListener {
ssoManager.login()
.subscribe(
object : Consumer<SSOToken> {
val foo = "bar" // this is a property of the object
override fun accept(t: SSOToken) {
val intent = Intent(this@LoginActiviy, PasscodeActivity::class.java)
this@LoginActiviy.startActivity(intent)
}
}
)
}
关于android - Kotlin 内部类访问外部类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50950035/