Получить KotlinNullPointerException при открытии исходного фрагмента - PullRequest
2 голосов
/ 21 октября 2019

Получить KotlinNullPointerException при открытии исходного фрагмента при инициализации my uid:

fun setInitialData() {
        firebaseUser = FirebaseAuth.getInstance().currentUser
        databaseReference = FirebaseDatabase.getInstance().reference
        uid = firebaseUser!!.uid

Но если я заменим инициализацию на firebaseUser?.uid, данные базы данных не будут загружаться немедленно. Так понимаете это правильный подход? Также я понимаю, как дополнительное решение сделать некоторую паузу перед загрузкой данных?

Ответы [ 2 ]

1 голос
/ 21 октября 2019

В соответствии с официальной документацией, касающейся метода getCurrentUser () в FirebaseUser:

Возвращает зарегистрированного в данный момент FirebaseUser или null , если его нет.

И чтобы ответить на ваш вопрос:

Так понимаете ли это правильный подход?

Нет, вам всегда нужно использовать getCurrentUser() != nullпроверить, вошел ли пользователь в систему или нет.

Также я понимаю, как дополнительно решение сделать некоторую паузу перед загрузкой данных?

Нет необходимостисделать паузу в этом случае.

0 голосов
/ 21 октября 2019

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...