can';无法从编辑文本中获取数据,Android Koltin

can';无法从编辑文本中获取数据,Android Koltin,android,kotlin,android-edittext,android-textinputedittext,Android,Kotlin,Android Edittext,Android Textinputedittext,尝试从edittext获取数据时,我得到了空数据 这是我的密码 class LoginActivity : AppCompatActivity() { lateinit var etUsername : EditText lateinit var etPassword : EditText var username = "" var password = "" override fun onCreate(savedInstanceState: Bundle?) { super.onCre

尝试从edittext获取数据时,我得到了空数据 这是我的密码

class LoginActivity : AppCompatActivity() {
lateinit var etUsername : EditText
lateinit var etPassword : EditText
var username = ""
var password = ""
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_login)
    etPassword = findViewById(R.id.tanggalLahir) as EditText
    etUsername = findViewById(R.id.nomerInduk) as EditText
    username = etUsername.text.toString()
    password = etPassword.text.toString()

    buttonLogin.setOnClickListener() {
        if (username.isEmpty()){
            Log.d("User", "Username = $username")
            nomerInduk.error = "Nomor Induk Kosong!"
            return@setOnClickListener
        }

        if (password.isEmpty()){
            Log.d("User", "Password = $password")
            tanggalLahir.error = "Tanggal Lahir Kosong!"
            return@setOnClickListener
        }

        login(username,password)
    }


}
还有,当我签入日志时

我已经将edittext更改为TextInputText,但仍然相同

class LoginActivity : AppCompatActivity() {
lateinit var etUsername : EditText
lateinit var etPassword : EditText
var username = ""
var password = ""
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_login)
    etPassword = findViewById(R.id.tanggalLahir) as EditText
    etUsername = findViewById(R.id.nomerInduk) as EditText


    buttonLogin.setOnClickListener() {
username = etUsername.text.toString()
    password = etPassword.text.toString()
        if (username.isEmpty()){
            Log.d("User", "Username = $username")
            nomerInduk.error = "Nomor Induk Kosong!"
            return@setOnClickListener
        }

        if (password.isEmpty()){
            Log.d("User", "Password = $password")
            tanggalLahir.error = "Tanggal Lahir Kosong!"
            return@setOnClickListener
        }

        login(username,password)
    }


}
你必须学习android的基本生命周期。在这里,您第一次获得编辑文本值并分配给全局变量username和password。但在您输入一些并单击enter之后,您必须在单击submit按钮时获得新添加的文本值。这就是为什么那些分配代码会进入按钮点击的原因

你必须学习android的基本生命周期。在这里,您第一次获得编辑文本值并分配给全局变量username和password。但在您输入一些并单击enter之后,您必须在单击submit按钮时获得新添加的文本值。这就是为什么那些分配代码会进入按钮点击的原因

class LoginActivity : AppCompatActivity() {
lateinit var etUsername : EditText
lateinit var etPassword : EditText
var username = ""
var password = ""
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_login)
    etPassword = findViewById(R.id.tanggalLahir) as EditText
    etUsername = findViewById(R.id.nomerInduk) as EditText


    buttonLogin.setOnClickListener() {
    // once button click you have to get the current text value from the edit text what you have entered. 
    username = etUsername.text.toString()
    password = etPassword.text.toString()
        if (username.isEmpty()){
            Log.d("User", "Username = $username")
            nomerInduk.error = "Nomor Induk Kosong!"
            return@setOnClickListener
        }

        if (password.isEmpty()){
            Log.d("User", "Password = $password")
            tanggalLahir.error = "Tanggal Lahir Kosong!"
            return@setOnClickListener
        }

        login(username,password)
    }


}