这是在 Kotlin 中,无论我尝试什么,它似乎都不起作用,它只是一个带有点击侦听器的按钮。它的功能是带我去另一个活动,我尝试了敬酒但也没有显示。我尝试不使用该功能,也没有工作。我们可以将此方法与文本视图一起使用吗?我是 Kotlin 的新手,所以对我来说很容易......
这是代码
val startButton = binding.loginButton
startButton.setOnClickListener {
fun crtUser() {
Toast.makeText(this, "It's Working!", Toast.LENGTH_LONG).show()
val intent = Intent(this@LoginActivity, SignupActivity::class.java)
startActivity(intent)
}
crtUser()
}
}
我还在 Intent 之后使用了 finish(),它崩溃了
回答1
请不要使用这种语法,它不是无效的,但是改进它对您和其他开发人员来说会更好,以便更快、更容易地理解正在发生的事情:)。从点击事件触发函数如下:
fun onCreateOrOtherMethod() {
binding.button.setOnClickListener {
createUser()
}
}
然后您可以将 createUser() 作为当前类的内部方法:
private fun createUser() {
Toast.makeText(this, "It's Working!", Toast.LENGTH_LONG).show()
val intent = Intent(this@LoginActivity, SignupActivity::class.java)
startActivity(intent)
}
小提示:不要缩写方法名称,如果需要,您可以使用长名称,只要它可以改善代码的语义。
如果它崩溃,请附上异常堆栈跟踪:D
回答2
在我改变这个之后它现在正在工作
setContentView(R.layout.login_activity)
对此
setContentView(binding.root)
任何想法为什么?