IllegalStateException textview不能与Kotlin无效

我想通过设置导航抽屉中的TextView文本来创建活动开始时更新UI的方法。我不断收到一个TextView不能为空的错误?IllegalStateException textview不能与Kotlin无效

我得到的错误是一种非法状态异常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是调用UpdateUI如果用户登录,则更新导航抽屉中的配置文件数据这就是问题所在。如果不是,则启动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"

回答:

对不起,我正在上彻夜狂欢,并张贴了生气代码笑。我更新了代码以解决问题。此外,我才意识到,我命名值userEmailText,并试图建立

userEmail.text = user.email 

而不是

userEmailText.text = user.email 

这可以解释为什么当我调用println它会显示其登录猫正确

回答:

更新!所以我发现它在首次安装和登录时工作得很好,但由于某种原因,如果在初次登录后关闭应用程序,并且在打开它时崩溃,则会在updateUI部件中崩溃。我徘徊,如果它有什么关系,如果用户已登录它不能更新。我可能会尝试使用共享偏好设置,并保存用户名和电子邮件,并在注销时擦除该偏好。

以上是 IllegalStateException textview不能与Kotlin无效 的全部内容, 来源链接: utcz.com/qa/257578.html

回到顶部