【问题标题】:Get KotlinNullPointerException when open initial fragment打开初始片段时获取 KotlinNullPointerException
【发布时间】:2020-02-17 07:49:09
【问题描述】:

在初始化我的uid 时打开初始片段时获取 KotlinNullPointerException:

fun setInitialData() {
        firebaseUser = FirebaseAuth.getInstance().currentUser
        databaseReference = FirebaseDatabase.getInstance().reference
        uid = firebaseUser!!.uid

但如果我替换 firebaseUser?.uid 上的初始化,数据库数据将不会立即加载。 那么理解这是正确的方法吗? 我也明白在加载数据之前做一些暂停的决定有多额外?

【问题讨论】:

  • @JeelVankhede 好的,但正如我所说,如果我使用firebaseUser?.uid,我在上传数据时会遇到问题。
  • 你能发布完整的错误吗?

标签: android firebase kotlin nullpointerexception


【解决方案1】:

根据官方文档关于 FirebaseUser 的getCurrentUser() 方法:

返回当前登录的 FirebaseUser,如果没有则返回 null

回答你的问题:

那么理解这是正确的方法吗?

不,您需要始终使用getCurrentUser() != null 来检查用户是否已登录。

我也明白在加载数据之前做一些暂停的决定有多额外?

在这种情况下无需暂停。

【讨论】:

    【解决方案2】:

    无法在创建 Activity 或 Fragment 时初始化 Firebase 身份验证,因为它需要时间才能做出响应。尝试在按钮单击或除 oncreate 之外的任何地方传递它。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-23
    • 2020-02-13
    • 1970-01-01
    相关资源
    最近更新 更多