我在利用Kotlin。
我有一个存储的密码(瓦尔password = 1111)。我有一个editText(passcode),需要输入“numberPassword”。我希望用户输入代码,如果匹配,我将执行一些操作。
我试过:if (passcode.equals(1111)) { //do something }
if (passcode = password) { //do something }
if (passcode.text.toString() == password) { //do something }
if (passcode == "1111") { //do something }
...以及许多其他版本在int和string之间来回切换
这应该是非常简单的,因为用户要么是对的,要么是错的。我猜这与string/int的东西有关。谢谢你的帮助!
刚尝试:
<EditText
android:id="@+id/passcode"
android:layout_width="120dp"
android:layout_height="75dp"
android:layout_gravity="center_horizontal"
android:textAlignment="center"
android:hint="@string/zeros"
android:drawableStart="@drawable/ic_key"
android:inputType="numberPassword"
android:maxLength="4"
android:maxLines="1"
android:textColor="@color/black"
android:textColorHint="@color/light_gray"
android:textCursorDrawable="@null"
android:textSize="35sp"
android:singleLine="true"
android:autofillHints="true" />
private var passcode: EditText? = null private var password: Int = 1111
view.submitButton?.setOnClickListener {
if (passcode?.text.toString() == password.toString()){
Toast.makeText(this@SplashScreen, "Valid", Toast.LENGTH_LONG).show()
} else {
Toast.makeText(this@SplashScreen, "Invalid", Toast.LENGTH_LONG).show()
}
}
结果:在edittext中输入1111时无效
2条答案
按热度按时间hmtdttj41#
您的密码变量未初始化,因为它仍为空。
设置如下:
kqlmhetl2#
您要将整个部件与变量password进行比较,您需要将变量password与
passcode.text.toString()
进行比较,如下所示: