getInstance()未解决的Kotlin

时间:2018-03-26 07:53:10

标签: 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()

FYI

这是原始的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;
    }
}

1 个答案:

答案 0 :(得分:5)

你愿意拥有一个单身人士,对吧?将GlobalHolder设为object,这将自动提供单身:

object GlobalHolder {

    private var pickerManager: PickerManager? = null

    fun getPickerManager(): PickerManager? {
        return pickerManager
    }

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

然后你的实例就像这样:

GlobalHolder.getPickerManager()