this与this @ activity_main在上下文参数中对koltin中的函数的

时间:2019-07-18 19:32:24

标签: android kotlin

当我在android studio中创建烤面包时,编写这样的代码时出现错误 但是我在网上搜索w,发现当我将“ this”替换为“ this @ main_activity”(这是当前活动)时,我的代码可以工作并编译。 那么“ this”和“ this @ main_activity”之间有什么区别?

class MainActivity :AppCompat(){
val playbackListener = object  : YouTubePlayer.PlaybackEventListener{
Toast.makeText(this, "Good, video is playing ok", Toast.LENGTH_SHORT).show()
}
}

1 个答案:

答案 0 :(得分:1)

您的Toast.makeText()调用在对象内部:

object : YouTubePlayer.PlaybackEventListener {
    Toast.makeText(this, "Good, video is playing ok", Toast.LENGTH_SHORT).show()
}

因此,this的值是对象(PlaybackEventListener)。

为了引用对象所在的Activity的实例,可以限定this关键字:this@MainActivity