我必须创建一个简单的登录应用程序,在该应用程序中输入正确的凭据后,它应该打开一个新活动,并在错误的情况下显示一条敬酒消息。
我尝试过改变顺序,但仍然没有运气
val username = text_input_username.text.toString()
val password = text_input_password.text.toString()
con_btn.isAllCaps = false
con_btn.setOnClickListener {
val intent = Intent(this, Login::class.java)
val message = "Wrong Credentials"
if((username == "admin") && (password == "1234")){
startActivity(intent)
} else {
Toast.makeText(this, message, Toast.LENGTH_LONG).show()
}
}
无论我输入什么内容,提供的代码都将打印祝酒消息,如果该语句存在,它将不会打开新的活动页面。
答案 0 :(得分:1)
将文本检索移至setOnClickListener
事件。然后它将开始工作。使用当前代码,您将在用户单击按钮之前检索文本的方式,因此始终会得到较旧的文本,并且if
条件失败。
con_btn.isAllCaps = false
con_btn.setOnClickListener {
val username = text_input_username.text.toString().trim()
val password = text_input_password.text.toString().trim()
if((username == "admin") && (password == "1234")){
val intent = Intent(this, Login::class.java)
startActivity(intent)
} else {
val message = "Wrong Credentials"
Toast.makeText(this, message, Toast.LENGTH_LONG).show()
}
}
还添加了.trim()
函数以删除所有空格。