Задать вопрос
arteqrt
@arteqrt
Почти не начинающий програмист

Как предотвратить двойное нажатие + firebase?

623f47a70c1fd936222180.jpeg

Реализую вход в приложение через firebase(все работа с данными в ViewModel), для навигации использую NavController. Проблема двойного нажатия, когда нажимаю конпку вход и сразу же (быстро) кнопку регистрация, то происходит сбой (Navigation action/destination cannot be found from the current destination).

Нашел статью https://stackoverflow.com/questions/51060762/illeg...
, в которой описывается решение, но в моем случае между кликом может пройти как больше секунды, так и меньше, все зависит от ответа с базы данных.

Я сделал функцию, которая блокирует все кнопки при нажатии на одну до конца операции в корутине.
Передаю из класса фрагмента функцию в параметр функции из вью модел, которая вызывает функцию из модел где берутся данные из firebase, по окончанию загрузки включаю кнопки той функцией, если не удалось войти, если удалось, то запускаю навигацию, после чего включаю кнопки

Что будет более правильным?
  • Вопрос задан
  • 41 просмотр
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы