I have this piece of Java code:
MaterialDialog builder = new MaterialDialog.Builder(MainActivity.this)
I want to get the MainActivity object in Kotlin. The automatic conversion breaks at MainActivity.this
.
I have this piece of Java code:
MaterialDialog builder = new MaterialDialog.Builder(MainActivity.this)
I want to get the MainActivity object in Kotlin. The automatic conversion breaks at MainActivity.this
.
You can get a reference to your MainActivity
object in Kotlin by using a qualified this
. e.g.:
class MyActivity : MainActivity() {
val builder = MaterialDialog.Builder(this@MyActivity)
}
Try this instead
this@ActivityName
If you are calling Activity.this from an inner class, you have to put inner before the class
class MyActivity : MainActivity() {
// Call from class itself
val builder = MaterialDialog.Builder(this@MyActivity)
inner class Inner {
this@MyActivity // Call from the inner class
}
}
Just as you do in java for getting the context of activity as MainActivtiy.this , in kotlin you will get the context as this@MainActivity
getActivity()
equivalent is this@activity_name
in case of builder for materialDialog
materialDialog = MaterialDialog.Builder(this)
You can get the object of activity like this.
class DemoActivity : MainActivity() {
val builder = MaterialDialog.Builder(this@DemoActivity)
}