Unsolved reference


#1

I have the following code…

    val beaconConnection = BeaconConnection(reactContext, beacon, object : BeaconConnection.ConnectionCallback {

        override fun onConnected(beaconInfo: BeaconInfo?) {
            log("onConnected() -  ${beacon.proximityUUID}")

            beaconConnection.motionState().getAsync(object : Property.Callback<MotionState> {
                override fun onFailure() {
                    log("onFailure()")
                }

                override fun onValueReceived(value: MotionState?) {
                    log("${beacon.proximityUUID} - $value")
                }
            })
        }

        override fun onAuthorized(beaconInfo: BeaconInfo?) {
            log("onAuthorized()")
        }

        override fun onAuthenticationError(exception: EstimoteDeviceException) {
            log("onAuthenticationError - ${exception.printStackTrace()}")
        }

        override fun onDisconnected() {
            log("onDisconnected()")
        }
    })

    beaconConnection.authenticate()

The line beaconConnection.motionState().getAsync(object : Property.Callback { has an unresolved reference error and i’m am trying to use the outside variable inside the class later on
In Java if I declare this as final this would work but I am not sure how to get around this in Kotlin

I could do this at the start…
var beaconConnection: BeaconConnection? = null

    beaconConnection = BeaconConnection(reactContext, beacon, object : BeaconConnection.ConnectionCallback {

and then do null checks
beaconConnection?.motionState()?.getAsync(object : Property.Callback {

But I am trying to avoid this

How can I access the variable beaconConnection in the inner class?


#2

You can’t use an uncreated object. At first, you should create an object and then you can use it. Try to set Callback using a setter function. But it is not possible to use a nonexisting object.