嵌套类Kotlin中的未解析引用

时间:2020-05-14 16:03:19

标签: java android-studio kotlin private

我有一个带有变量控制器和嵌套类A的活动。在A类内,我想访问控制器变量。头我可以这样做吗?

class MyActivity: AppCompatActivity() {

   private val controller: MyController

   ....methods of activity...

   override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        controller = Controller()
        // Doing stuff
   }


   private class MyListener internal constructor(x: Int): LocalClass.Listener {

      override fun onCallOne() {
           // I get an unresolved reference here
           controller.method()
      }

      override fun onCallTwo() {}

      override fun onCallThree() {}

   }

}

当我从Java代码粘贴相同代码时,上述代码是通过AndroidStudio自动转换完成的,其中可从嵌套类MyListener访问控制器变量

1 个答案:

答案 0 :(得分:1)

我找到了。 答案是我必须使MyListener类成为内部类 因此正确的声明是

private inner class MyListener internal constructor(x: Int)...