如何在一个onClick中设置多种功能

时间:2019-10-26 19:14:05

标签: android kotlin

我必须创建一个简单的登录应用程序,在该应用程序中输入正确的凭据后,它应该打开一个新活动,并在错误的情况下显示一条敬酒消息。

我尝试过改变顺序,但仍然没有运气

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()
      }
  }

无论我输入什么内容,提供的代码都将打印祝酒消息,如果该语句存在,它将不会打开新的活动页面。

1 个答案:

答案 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()函数以删除所有空格。