Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java IllegalStateException textview与Kotlin不能为null_Java_Android_Kotlin - Fatal编程技术网

Java IllegalStateException textview与Kotlin不能为null

Java IllegalStateException textview与Kotlin不能为null,java,android,kotlin,Java,Android,Kotlin,我试图通过在导航抽屉中设置TextView的文本来创建一种在活动开始时更新UI的方法。我一直收到一个错误,文本视图不能为空 我得到的错误是非法状态异常userEmail不能为null 这是应该更新导航抽屉中的配置文件信息的updateUI private fun updateUI(user:FirebaseUser?) { if (user != null) { val userEmailText = findViewById<TextView>(R.id.userEma

我试图通过在导航抽屉中设置TextView的文本来创建一种在活动开始时更新UI的方法。我一直收到一个错误,文本视图不能为空

我得到的错误是非法状态异常userEmail不能为null

这是应该更新导航抽屉中的配置文件信息的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"

   }}
这是布局图

 <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

这就解释了为什么当我打印时,它会正确地显示log cat

很抱歉,我整晚都在做这个,并发布了令人恼火的代码lol。我更新了代码,使其符合问题所在。另外,我刚刚意识到我将值命名为userEmailText,并试图设置

userEmail.text = user.email
而不是

userEmailText.text = user.email

这就解释了为什么当我打印时,它会正确地显示log cat

更新!因此,我发现它在第一次安装和登录时工作正常,但由于某种原因,如果在初始登录后,您在打开应用程序时关闭应用程序,它会在updateUI部分崩溃。我怀疑这是否与用户已经登录无法更新有关。我可能会尝试共享首选项,保存用户名和电子邮件,然后在注销时将其删除

编辑
这是一个很久以前的问题,但它是什么,我讨厌正确的变量,我需要从onCreate和onStart调用它。在提出这个问题的时候,我正在努力研究编码的概念,更不用说Android生命周期的概念了。在导航标题中初始化视图的方式也存在已知问题。初始化导航抽屉视图后,您可以初始化导航抽屉标题,然后可以在中初始化文本视图

更新!因此,我发现它在第一次安装和登录时工作正常,但由于某种原因,如果在初始登录后,您在打开应用程序时关闭应用程序,它会在updateUI部分崩溃。我怀疑这是否与用户已经登录无法更新有关。我可能会尝试共享首选项,保存用户名和电子邮件,然后在注销时将其删除

编辑
这是一个很久以前的问题,但它是什么,我讨厌正确的变量,我需要从onCreate和onStart调用它。在提出这个问题的时候,我正在努力研究编码的概念,更不用说Android生命周期的概念了。在导航标题中初始化视图的方式也存在已知问题。初始化导航抽屉视图后,您可以初始化导航抽屉标题,然后可以在中初始化文本视图

您确定
findViewById(R.id.userEmail)
正在查找您需要的视图吗?另外,您能否澄清错误发生的确切位置?您是否确定
findviewbyd(R.id.userEmail)
正在查找您需要的视图?另外,您能澄清错误发生的确切位置吗?我将测试此代码,如果有效,我将标记它。我现在正在打电话。刚刚确认这就是问题所在。我将测试这段代码,如果行得通,我会给它打上标记。我现在正在打电话。刚刚确认这就是问题所在。大家都知道为什么TextView会说数据字符串为null,而logcat会正确显示。大家都知道为什么TextView会说数据字符串为null,而logcat会正确显示