184 votes

Comment accéder à "Activity.this" dans Kotlin?

J'ai ce morceau de code Java:

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

Je veux obtenir l'objet MainActivity dans Kotlin. La conversion automatique est interrompue à MainActivity.this .

315voto

mfulton26 Points 1609

Vous pouvez obtenir une référence à votre objet MainActivity dans Kotlin en utilisant un this qualifié . par exemple:

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

35voto

bala Points 45

Essayez ceci à la place

 this@ActivityName
 

10voto

Allen Wang Points 298

Si vous appelez Activity.this depuis une classe interne, vous devez mettre inner avant la classe

 class MyActivity : MainActivity() {
    // Call from class itself
    val builder = MaterialDialog.Builder(this@MyActivity) 

    inner class Inner {
        this@MyActivity // Call from the inner class 
    }
}
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X