#database #android-studio #kotlin #android-room
Вопрос:
Я создал приложение, которое переходит к новому действию при нажатии кнопки, но эта кнопка не должна работать, если мой логический метод не верен. Я хочу, чтобы мой метод выполнял поиск в таблице, которую я создал с помощью room, и создавал список всех строк, содержащих конкретное имя, которое пользователь вводит в редактируемый текст. Вот как выглядит мой метод:
fun nameExists(): Boolean { var nameList = emptyListlt;DataEntitygt;() doAsync { nameList = DB.DataDao().getAllName(editName.text.toString().trim().lowercase()) } if (nameList.isNotEmpty()) { return true } else { return false } }
Мой метод getAllName() в интерфейсе Dao выглядит следующим образом:
@Query("SELECT * FROM table WHERE name = :name") fun getAllName(name: String): Listlt;DataEntitygt;
Проблема в том, что мой метод всегда возвращает false, даже если имя существует в моей таблице. Я делаю что-то не так с кодом? Я знаю, что есть возможность использовать UIThread внутри doAsync, но я не уверен, поможет ли это.