如何在 Kotlin 中访问"Activity.this"?



我有这段Java代码:

MaterialDialog builder = new MaterialDialog.Builder(MainActivity.this)

我想在 Kotlin 中获取 MainActivity 对象。自动转换在 MainActivity.this 时中断。

您可以使用限定this在 Kotlin 中获取对 MainActivity 对象的引用。 例如:

class MyActivity : MainActivity() {
    val builder = MaterialDialog.Builder(this@MyActivity)
}

试试这个标签

this@YourActivityName

答案是:this@ActivityName

例如:如果你想在 MainActivity.kt 中定义"上下文",你应该使用它

var mContext:Context = this@MainActivity

为什么?因为在 Kotlin 语言中,@ 具有"的"的意思,例如:

val a = this@A // A's this

如果您想了解更多信息,可以查看 Kotlin 语言网站:Kotlin

in kotlin

this@MainActivity

等效于爪哇

MainActivity.this

就像你在java中获取活动的上下文作为MainActivtiy.this一样,在kotlin中,你将获得this@MainActivity<</strong>

div class="one_answers"的上下文>

getActivity()等价物是this@activity_name 在材料对话框的生成器的情况下

materialDialog = MaterialDialog.Builder(this)

您可以像这样获取活动对象。

class DemoActivity : BaseActivity() {
    val builder = MaterialDialog.Builder(this@DemoActivity)
}

相关内容

  • 没有找到相关文章

最新更新