2017-12-02 16 views
1

ナビゲーション・ドロワー内のTextViewのテキストを設定することで、アクティビティーの開始時にUIを更新する方法を作成しようとしています。 TextViewをnullにできないというエラーが出ていますか?IllegalStateException Kotlinでテキストビューがnullになる可能性があります

私が手にエラーが不正な状態例外USEREMAILこれは、ナビゲーション引き出し

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 = "[email protected]" 
    userNameText.text = "John Doe" 

    }} 

これでプロファイル情報を更新することになっているのupdateUIある

nullであってはならないのは、呼び出しですユーザーがサインインしている場合UpdateUIナビゲーション・ドロワー内のプロファイル・データを更新するこれはISSUE ISです。そうでなければ、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" 
申し訳
+0

「findViewById(R.id.userEmail)」が必要なビューを見つけていることは確かですか?また、正確にエラーが発生した場所を明確にしますか? – DrSatan1

答えて

0

である私はすべての夜、この上で作業して笑怒っコードを掲示しました。問題の内容をコードに更新しました。また、私はちょうど私が値userEmailTextを命名し、私はprintlnをなかったとき、それが正しく

+0

私はこのコードをテストし、うまく動作すればそれをマークします。私は現在私の電話にいます。 – Vahalaru

+0

これが問題であることを確認しました。ちょうど繊細なスペルがどのように表示されますか。 – Vahalaru

-1

を猫のログを示すであろう理由を説明するだろう

userEmail.text = user.email 

代わりの

userEmailText.text = user.email 

を設定しようとしていたことに気づきました更新!だから最初のインストールとサインインでうまくいくとわかっていますが、何らかの理由で、最初にログインした後にアプリケーションを閉じると、updateUIの部分でクラッシュします。ユーザーがすでにサインインしている場合、アップデートできない場合は何か関係があります。共有設定を試して、ユーザー名とメールを保存して、ログアウト時にそれを消去することもできます。

+0

TextViewがデータ文字列がヌルだがlogcatが正しく表示されると言う理由は誰でも知っている – Vahalaru

関連する問題