当我试图从edittext中获取数据时,我得到了null数据,这是我的代码。
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改为textinputedittext,但还是一样。
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)
}
}
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)
}
}
你必须研究一下基本的android生命周期,在那里你第一次得到编辑文本值,并分配给全局变量用户名和密码,但当你输入一些并点击进入后,你必须在点击提交按钮时得到新添加的文本值,这就是为什么这些分配代码在点击按钮时出现。