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