kotlin - getInstance() Unresolved Kotlin

标签 kotlin

在调用时显示 getInstance() 未解析的引用。

class GlobalHolder {

    private var pickerManager: PickerManager? = null

    private val ourInstance = GlobalHolder()

    fun getInstance() {
        return ourInstance
    }

    private fun GlobalHolder(){}


    fun getPickerManager(): PickerManager? {
        return pickerManager
    }

    fun setPickerManager(pickerManager: PickerManager) {
        this.pickerManager = pickerManager
    }
}

调用

   lateinit var pickerManager: PickerManager
    pickerManager=GlobalHolder.getInstance().getPickerManager()

仅供引用

这是原始的 Java 类

public class GlobalHolder {

    private PickerManager pickerManager;

    private static GlobalHolder ourInstance = new GlobalHolder();

    public static GlobalHolder getInstance() {
        return ourInstance;
    }

    private GlobalHolder() {
    }


    public PickerManager getPickerManager() {
        return pickerManager;
    }

    public void setPickerManager(PickerManager pickerManager) {
        this.pickerManager = pickerManager;
    }
}

最佳答案

你愿意拥有一个单例,对吧?使 GlobalHolder 成为 object ,它将自动提供一个单例:

object GlobalHolder {

    private var pickerManager: PickerManager? = null

    fun getPickerManager(): PickerManager? {
        return pickerManager
    }

    fun setPickerManager(pickerManager: PickerManager) {
        this.pickerManager = pickerManager
    }
}

然后你的实例是这样的:

GlobalHolder.getPickerManager()

关于kotlin - getInstance() Unresolved Kotlin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49486487/

相关文章:

Android - 在 Kotlin 中声明和使用 View

android - Kotlin 惰性属性和值重置 : a resettable lazy delegate

gradle - 升级到 gradle-5 后,war 文件很大

java - Android 库在捕获所有 Throwable 的 try block 内抛出异常

java - Java 类定义的类型推断失败。我该如何解决这个问题?

android - 输入字符串错误 : "sayısı 0x7f070042" Android Studio

java - 在 PostgreSQL 中存储 OffsetDateTime 时如何禁用到 UTC 的转换

kotlin - 如何在 Kotlin 中将字符串句子转换为数组列表

android - 这个集合添加 fragment 代码块可以变得更简单吗(Kotlin)

Android WorkManager 链式工作未在 alpha04 上运行