无法查明QualtricsFeedback活动的未解决参考的错误?在Android Studios中使用Kotlin

问题描述

构建此代码时,我的班级遇到未解决的参考错误。我需要帮助来查明错误

这是错误

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)
            }
        }
    }