95 votes

Kotlin pour Android. Pain grillé

Dans différents exemples Kotlin pour Android, je vois toast ("Some message ...") ou toastLong ("Some long message"). Par exemple:

 view.setOnClickListener { toast("Click") }
 

Si je comprends bien, il s’agit d’une fonction d’extension pour activité.

Comment définir cette fonction toast () et où (à quel endroit) pouvoir l’utiliser dans le projet?

162voto

Niek Haarman Points 13931

Ce peut être une fonction d’extension pour Context :

 fun Context.toast(message: CharSequence) = 
    Toast.makeText(this, message, Toast.LENGTH_SHORT).show()
 

Vous pouvez placer ceci n'importe où dans votre projet, là où vous le souhaitez. Par exemple, vous pouvez définir un fichier mypackage.util.ContextExtensions.kt et le placer là en tant que fonction de niveau supérieur.

Chaque fois que vous avez accès à une instance Context , vous pouvez importer cette fonction et l'utiliser:

 import mypackage.util.ContextExtensions.toast

fun myFun(context: Context) {
    context.toast("Hello world!")
}
 

107voto

Zeero0 Points 699

Voici une solution à une ligne à Kotlin:

 Toast.makeText(this@MainActivity, "Its toast!", Toast.LENGTH_SHORT).show()
 

49voto

Muz Points 1116

C'est en fait une partie d' Anko , une extension pour Kotlin. La syntaxe est la suivante:

 toast("Hi there!")
toast(R.string.message)
longToast("Wow, such a duration")
 

Dans votre application build.gradle , ajoutez compile "org.jetbrains.anko:anko-common:0.8.3"

Ajoutez import org.jetbrains.anko.toast à votre activité.

3voto

vishnu benny Points 56

Lors de l'utilisation d' Anko avec Kotlin , fragmenter fragment utilise soit:

  • activity.toast ("message de chaîne") ou
  • context.toast ("message de chaîne")

2voto

Khyati Fatania Points 522

J'ai trouvé un moyen très facile de faire un toast à partir d'un lien donné https://gist.github.com/felipearimateia/ee651e2694c21de2c812063980b89ca3 . Dans ce lien, l'activité est utilisée à la place du contexte. L'essayer

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