Android Kotlin:TextView.text无法正常工作

我有一个让用户使用Firebase登录的应用,如果他们尚未登录。如果用户登录其用户个人资料信息显示正确。 在关闭应用程序并重新打开用户名和电子邮件不会设置,并进入我的默认文本。 但是,如果我退出并返回将显示。 我觉得它与更新用户界面有关,但卡住了。

如果需要,我可以在午餐rest后发布代码

用代码更新

这是MainActivity中的相关代码,这是我检查用户是否登录,如果允许他们从那里去,如果不开始登录活动。

class MainActivity : AppCompatActivity(), NavigationView.OnNavigationItemSelectedListener { val TAG = "MainActivity" var mAuth: FirebaseAuth? = null var mUser: FirebaseUser? = null var userEmailTV: TextView? = null var userDispNameTV: TextView? = null val RC_SIGN_IN = 123 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) setSupportActionBar(toolbar) val toggle = ActionBarDrawerToggle( this, drawer_layout, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close) drawer_layout.addDrawerListener(toggle) toggle.syncState() nav_view.setNavigationItemSelectedListener(this) } override fun onStart() { super.onStart() mAuth = FirebaseAuth.getInstance() mUser = mAuth?.currentUser if (mUser != null) { userEmailTV = findViewById(R.id.userEmail) as TextView? userEmailTV?.text = mUser?.email userDispNameTV = findViewById(R.id.userName) as TextView? userDispNameTV?.text = mUser?.displayName Log.i(TAG, "User Display Name : ${mUser?.displayName}") Log.i(TAG, "Users Email : ${mUser?.email}") } else { startActivityForResult( // Get an instance of AuthUI based on the default app AuthUI.getInstance().createSignInIntentBuilder().build(), RC_SIGN_IN) } } 

这是保存导航抽屉内用户配置文件信息的布局信息

    

    你确定“findView”成功了吗? 尝试在导航标题视图接收器上调用它

    经过大量的反复试验和研究,我的理论是……这个问题不是由于TextView在错误的位置被初始化,正如其他人在上面的评论中所想的那样。 由于导航标题视图没有足够的时间膨胀。 我将编写初始化导航标题,然后TextView和编辑结果。

    编辑

    这是我做的工作。 我补充说

      uemail = findViewById(R.id.nav_view) as NavigationView navHead = uemail.getHeaderView(0) tvEmail = navHead.findViewById(R.id.userEmail) as TextView tvDisplayName = navHead.findViewById(R.id.userName) as TextView tvEmail.text = mUser?.email tvDisplayName.text = mUser?.displayName 

    我把它放在我在onCreate和onStart中调用的函数中。 如果我没有,它只会在登录后填充,或根本没有。 这样它填充正确的数据和所有的时间。 我发现它在Android Studio在23.1之后使用recyclerview作为导航视图或类似的东西之后有所涉及。