问题标签 [kotlin-lateinit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1120 浏览

android - 如何检查“lateinit”变量是否已在扩展方法中初始化?

我想检查是否在扩展方法中初始化了 lateinit 属性。我想在扩展方法中安全地执行对 lateinit 属性的简单函数调用。

我可以使用this::property.isInitialized.

想写一些扩展,如:

然后我们可以轻松地在 lateinit 属性上执行简单的方法。请帮忙

0 投票
1 回答
441 浏览

android - 在项目选择的侦听器上初始化(自定义微调器适配器)

我创建了一个自定义微调器适配器,它返回两个视图(item_new_area 和 item_area),item_new_area 是静态的,带有选项 Add New 和 item_area 填充动态。

在此处输入图像描述

选择添加新时,我想启动添加新区域的对话框,但我不断收到一个错误,即lateinit 属性侦听器尚未初始化

自定义微调器适配器

}

我尝试在我的片段的 onCreateView 方法中设置 on Item Clicked 侦听器:

错误日志

第 15 行 = lateinit var 监听器:OnItemSelectedListener

第 25 行 = listener.onClick()

我知道应该在调用 getView 方法之前初始化侦听器,但由于某些原因无法初始化侦听器,任何有关如何执行此操作的帮助将不胜感激。谢谢

0 投票
1 回答
105 浏览

kotlin - 基类中的变量从派生类初始化但从超类调用时为空

我无法将继承的单例模式从 Java 转换为 Kotlin。

从主要类之一(不是精简版)我调用 ThumbnailManager.getInstance().gameData 并且 gameData 为空,即使它肯定是通过 ThumbnailManagerLite 初始化的。我注意到,当我调用 ThumbnailManagerLite.getInstance() 时,没有调用 super。

0 投票
1 回答
329 浏览

android - 当回调是类的字段时,将回调转换为suspendCoroutine

我想将一些基于回调的 3rd-party API 转换为易于使用的简单挂起函数。这是我的实现的简化示例。

但这种解决方案有时有效,有时无效。这个 lambda 字段存在这样的问题,有时它会正确初始化,但有时会抛出异常“lateinit property onFooFired is not initialized”

这很奇怪,因为我确实在运行 library.bar() 之前对其进行了初始化,并且仅在调用library.bar() 之后才调用 LibraryCallback 的 foo 。

0 投票
0 回答
250 浏览

android - 如何模拟同伴lateinit var?

我尝试对我的演示者进行单元测试。我有更新标记的方法,当它失败时,应用程序会显示带有翻译消息的吐司。

提供翻译的方法包含在使用 prefs 的 LocalData 对象中

将 init 与 App.instance 放在一起,它是伴随的 lateinit var

所以我尝试运行我的单元测试。

并得到引用 LocalData private val prefs 初始化的错误“原因:kotlin.UninitializedPropertyAccessException:lateinit 属性实例尚未初始化”。smb 可以帮我解决这个问题吗?如何在我的单元测试中初始化实例并避免该错误?或者也许我必须在不使用 App.instance 引用的情况下模拟 LocalData 对象?

0 投票
1 回答
663 浏览

kotlin - kotlin.UninitializedPropertyAccessException:lateinit 属性 ans 尚未初始化

toPascalCase函数旨在将包含空格的字符串转换-为 Pascal 大小写。

下面是我的代码->

我在变量lateinit之前使用了关键字。ans在 for 循环中,我已经初始化了ans变量,但编译器仍然抛出以下错误->

请帮我写代码。谢谢

0 投票
2 回答
166 浏览

kotlin - lateinit 属性没有很快赋值?

我的代码在 10,000 次中有 9,999 次有效。但是,大约每 10,000 次,应用程序崩溃到 aUninitializedPropertyAccessException这是有问题的,因为大约有 20,000~30,000 台 Android 设备使用我的代码在生产中。

有时,lateinit变量的实际分配似乎并没有很快发生(因此导致上述异常)。

有没有其他人有类似的问题?你的解决方案是什么?

TcpService.kt

类 TcpService:服务(){

TcpClient.kt

0 投票
2 回答
111 浏览

android - 我有一个代码,其中一个 lateinit 变量在它被调用后被初始化,我不知道如何

当我跟进使用 Kotlin 开发 Android 应用程序的 udacity 课程时,我发现讲师制作了一个 lateinit 变量lateinit var diceImage: ImageView,因为她稍后会在调用它之前对其进行初始化
*在 rollDice()函数中调用了 lateinit 变量,但该变量是在 setOnClickListner 中调用函数后初始化

您可以在下面找到完整的代码

由于我是android开发的新手,我不知道在roleDice()函数中调用它后她是如何初始化它的

谁能帮我解决这个问题?.... 不应该在 setOnClickListner 之前调用它吗?

感谢您的帮助!

0 投票
1 回答
112 浏览

android - Kotlin 的后期初始化

我写了一个代码来登录和电子邮件和谷歌登录,但我在 Logcat 中得到了错误,所以我读了它,它是由我的代码中的延迟初始化错误引起的,我尝试在溢出中搜索 pproblem 但我没有找到任何东西

kotlin.UninitializedPropertyAccessException:lateinit 属性身份验证尚未初始化原因:kotlin.UninitializedPropertyAccessException:lateinit 属性身份验证尚未在 com.example.preludeprototpe.Activity3Kt.access$getAuth$p(Activity3.kt:1) 在 com.example 处初始化.preludeprototpe.Activity3.checkLoggedInState(Activity3.kt:96) 在 com.example.preludeprototpe.Activity3.onStart(Activity3.kt:48) 在 android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1339) 在 android.app。 Activity.performStart(Activity.java:7167) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2895)

'''

0 投票
1 回答
493 浏览

kotlin - 如果初始化了其中的lateinit var,如何检查伴随对象的外部

创建实例时如何检查user变量是否已初始化MyClass

我想要做的是仅在创建 MyClass 的第一个实例时初始化变量,并且该变量的相同值应该可以在所有实例中访问。如果无法像这样使用 isInitialzed,那么解决方法也是可以接受的.