gpt4 book ai didi

android - ViewModel 中的 Kotlin 单例 setter/getter

转载 作者:搜寻专家 更新时间:2023-11-01 08:22:20 26 4
gpt4 key购买 nike

我正在学习 Android 架构组件。如何使用 Kotlin 实现单例 getInstance() 方法?我使用类似 Java 的样式 (getLocation) 完成了此操作,但它与 kotlin 不同。

class LocationViewModel: ViewModel() {
lateinit var locationData: MyLocationListener

fun getLocation(context: Context): MyLocationListener {
locationData = MyLocationListener(context)
return locationData
}
}

最佳答案

您不应该真正使用使 ViewModel 成为单例 - 它们应该限定在创建它们的 Activity/Fragment 的生命周期内。

如果您想公开 MyLocationListener 实例,您可以使用 AndroidViewModel 类 - 这使您可以访问可用作上下文的应用程序类。

class LocationViewModel(application: Application): AndroidViewModel(application) {
val locationData = MyLocationListener(application)
}

关于android - ViewModel 中的 Kotlin 单例 setter/getter ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49500663/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com