问题描述
构建此代码时,我的班级遇到未解决的参考错误。我需要帮助来查明错误。
这是错误
e: .../app/src/main/java/com/example/auth_onboarding/QualtricsFeedback.kt: (37,50): Unresolved reference: @QualtricsFeedback
(37,50)指调用this@QualtricsFeedback
的最后一行。
这是代码
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)
}
}
}
}
我已经尝试过.display(QualtricsFeedback.this),但这不起作用。我还尝试了.display(QualtricsFeedback)。
有什么建议可以尝试吗?
解决方法
对此进行更改,您应该在Kotlin的类中添加inner
,这意味着内部类可以引用外部类
private inner class MyCallback : IQualtricsCallback {
override fun run(targetingResult: TargetingResult) {
if (targetingResult.passed()) {
Qualtrics.instance().display(this@QualtricsFeedback)
}
}
}