как проверить эквивалент в Kotlin - PullRequest
0 голосов
/ 09 января 2020

Я получаю некоторые данные с сервера и хочу сравнить их с чем-то, что я получаю из EditText. моя сторона сервера настолько проста:

<?php 
   echo "123456789";
?> 

, а моя сторона клиента Kotlin:

if (it==password){
                startActivity(intent)
                finish()
            }

«это» относится к ответу на Volley StringRequest, а «пароль» - это текст, который извлекается из EditText следующим образом:

val password=userPassword.text.toString()

, но никогда эти два не становятся эквивалентными, хотя я пишу точно 123456789

Ответы [ 2 ]

0 голосов
/ 10 января 2020

Я нашел это: хотя сервер возвращает ровно "123456789", но я не знаю, почему в ответе на залп есть пробел в конце ответа, поэтому ответ был: "123456789 "

, поэтому я обрезал конец строки ответа, и это сработало!

0 голосов
/ 09 января 2020

Попробуйте it.compareTo() как условие:

// it.compareTo(password) == 0
it.compareTo(password).compareTo(0)

https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-comparable/compare-to.html

abstract operator fun compareTo(other: T): Int

Сравнивает этот объект с указанным объектом для заказа.

Возвращает

  • ноль, если этот объект равен указанному другому объекту (0),

  • отрицательное число, если оно меньше других (-32),

  • или положительное число, если оно больше других (32).

...