I am having an unresolved reference error in my class when building this code. I need help to pinpoint the error.
This is the error
e: .../app/src/main/java/com/example/auth_onboarding/QualtricsFeedback.kt: (37, 50): Unresolved reference: @QualtricsFeedback
(37,50) refers to the last line where this@QualtricsFeedback
was called.
This is the code
package com.example.auth_onboarding
import android.os.Bundle
import android.util.Log
import android.view.View
import androidx.appcompat.app.AppCompatActivity
import com.google.android.material.floatingactionbutton.FloatingActionButton
import com.qualtrics.digital.IQualtricsCallback
import com.qualtrics.digital.Qualtrics
import com.qualtrics.digital.TargetingResult
class QualtricsFeedback : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_qualtrics_feedback)
setSupportActionBar(findViewById(R.id.toolbar))
Qualtrics.instance().initialize("some_key", "some_other_key", "some_other_key_2", this);
val fab =
findViewById<View>(R.id.fab) as FloatingActionButton
fab.setOnClickListener {view ->
fun onClick(view: View?) {
Qualtrics.instance().evaluateTargetingLogic(MyCallback())
}
}
}
private class MyCallback : IQualtricsCallback {
override fun run(targetingResult: TargetingResult) {
if (targetingResult.passed()) {
Qualtrics.instance().display(this@QualtricsFeedback)
}
}
}
}
I've tried .display(QualtricsFeedback.this) but that doesnt work. I've also tried just .display(QualtricsFeedback).
Are there any suggestions of what I could try?
Change to this, you should add inner
to class in Kotlin it means an inner class can reference to the outer class
private inner class MyCallback : IQualtricsCallback {
override fun run(targetingResult: TargetingResult) {
if (targetingResult.passed()) {
Qualtrics.instance().display(this@QualtricsFeedback)
}
}
}