如果声明永远不会发生。所以请帮帮我。我尝试改变一些东西,并希望它会工作,但它从来没有,只有其他声明工作。
package com.example.managemntsystem
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
var input = editText.text
var empList = arrayListOf<String>("jacob", "raf", "boss", "john")
button.setOnClickListener {
if (input == emplist) {
textView2.setText("WORKING")
}else{
textView2.setText("Not working")
}
}
}
}
改用它:
if (empList.contains(input.toString()))
这将检查EditText的内容是否等于任何列表项。当您想要EditText内容时,请记得调用toString()
方法。
您还可以使用in运算符:
if (input in empList)
if(empList.contains(input))
我认为这将解决您的问题
原因是你的var input = editText.text
永远不会再次设置(即使它是一个var
),所以在这种情况下,它与val没有区别。您需要重新分配它或直接使用.text
:
var input = editText.text var empList = arrayListOf(“jacob”,“raf”,“boss”,“john”)
button.setOnClickListener {
input = editText.text // add this line
f (input == emplist) {
textView2.setText("WORKING")
}else{
textView2.setText("Not working")
}
}
button.setOnClickListener {
if (editText.text == emplist) {
textView2.setText("WORKING")
}else{
textView2.setText("Not working")
}
}