kotlin 验证硬编码密码

wkyowqbh  于 2022-11-16  发布在  Kotlin
关注(0)|答案(2)|浏览(153)

我在利用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时无效

hmtdttj4

hmtdttj41#

您的密码变量未初始化,因为它仍为空。
设置如下:

private var passcode : EditText? = findViewById<EditText>(R.id.passcode)
kqlmhetl

kqlmhetl2#

您要将整个部件与变量password进行比较,您需要将变量password与passcode.text.toString()进行比较,如下所示:

if (passcode.text.toString() == password.toString()){
                Toast.makeText(this@MainActivity, "Correct Passcode!", Toast.LENGTH_SHORT).show()
            }else{
                Toast.makeText(this@MainActivity, "Wrong Passcode!", Toast.LENGTH_SHORT).show()
            }

相关问题