Неверное текстовое изображение IllegalStateException не имеет значения для Kotlin

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

Ошибка, которую я получаю, является незаконным состоянием. Исключение userEmail не должно быть нулевым.

Это updateUI, который должен обновлять информацию профиля в навигационном ящике

private fun updateUI(user:FirebaseUser?) { if (user != null) { val userEmailText = findViewById<TextView>(R.id.userEmail) userEmail.text = user.email val errorTriage : String? = user.email println("User Email is ="+errorTriage) } else { val userEmailText: TextView = findViewById(R.id.userEmail) userEmailText.text = "Johndoe@someemail.com" userNameText.text = "John Doe" }} 

Это вызов UpdateUI, если пользователь зарегистрирован, если так обновлять данные профиля в навигационном ящике. ЭТО ПРИЧИНА IS ISUUE IS. Если нет, то запускается действие Signal FirebaseUI.

 override fun onStart() { super.onStart() //Checks to see if user is already signed in if (mAuth.currentUser != null) { updateUI(mAuth.currentUser) } else { //user is not signed in startActivityForResult( AuthUI.getInstance().createSignInIntentBuilder().build(), RC_SIGN_IN) }} 

Это макет

  <ImageView android:id="@+id/imageView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingTop="@dimen/nav_header_vertical_spacing" app:srcCompat="@mipmap/ic_launcher_round" /> <TextView android:id="@+id/userName" android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingTop="@dimen/nav_header_vertical_spacing" android:text="Android Studio" android:textAppearance="@style/TextAppearance.AppCompat.Body1" /> <TextView android:id="@+id/userEmail" android:layout_width="wrap_content" 

Извините, я работал над этим всю ночь и опубликовал разгневанный код lol. Я обновил код до какой проблемы. Также я просто понял, что я назвал значение userEmailText и пытался установить

 userEmail.text = user.email 

Вместо

 userEmailText.text = user.email 

Это объясняет, почему, когда я сделал println, он бы корректно отображал его log cat

Обновить! Таким образом, я понял, что он работает очень хорошо при первой установке и входе в систему, но по какой-то причине, если после первоначального входа вы закрываете приложение, когда вы его открываете, он падает на части updateUI. Я блуждаю, если он имеет какое-то отношение к тому, если пользователь уже подписан, он не может обновиться. Я могу попробовать общие настройки и сохранить имя пользователя и адрес электронной почты и просто стереть это при выводе.

Intereting Posts
Получение пустого списка из области, когда я запускаю приложение Android в первый раз. Пользовательский адаптер Moshi с RxAndroid & Retrofit & Kotlin Константы в Котлине – какой рекомендуемый способ их создать? Как преобразовать String в Long в Kotlin? Ошибки привязки данных в прикладном модуле Firebase-соединение не работает на Linux в SpringBoot Переместить определение ViewModel в метод уровня пакета Предупреждение: предупреждение: поддерживаемая исходная версия 'RELEASE_7' из обработчика аннотаций 'android.arch.lifecycle.LifecycleProcessor' меньше, чем -source '1.8' Как инициализировать контрольную переменную в Котлине Неопределенная ссылка для Holdr в Котлине Kotlin `shl` не работает OnClickItemListener в spinner в андроиде просмотра recycler Как связать кнопку с веб-сайтом в студии android с помощью kotlin smart cast невозможно, потому что экземпляр является изменяемым свойством Kotlin – Список в списке фильтрации