web-dev-qa-db-fra.com

Rappel de Picasso avec Kotlin

Je crée une Android avec Kotlin, et je dois utiliser Picasso pour télécharger des images. J'ai vu ceci Java code ci-dessous pour définir des animations sur les images, mais Je ne peux pas le convertir en Kotlin, car je ne sais pas comment définir le rappel dans la fonction "en".

Picasso.with(MainActivity.this)
       .load(imageUrl)
       .into(imageView, new com.squareup.picasso.Callback() {
                    @Override
                    public void onSuccess() {
                        //set animations here

                    }

                    @Override
                    public void onError() {
                        //do smth when there is picture loading error
                    }
                });

Est-ce que quelqu'un peut m'aider ?

Mon code actuel:

Picasso.with(context)
       .load(url)
       .into(imageDiapo, com.squareup.picasso.Callback)
6
Valentin Garcia

Salut, voici quelques façons différentes que Picasso fournit:

Picasso.with(context).load(path).into(imageView);

2. créez un nouveau fichier dans notre paquet utils, appelez-le picasso.kt et remplissez-le avec le code simple ci-dessous:

 public val Context.picasso: Picasso
    get() = Picasso.with(this)

3. Bien que cela corresponde à l'objet récepteur, nous pouvons invoquer le code suivant dans n'importe quel contexte:

picasso.load(path).into(imageView)
  1. Nous pouvons aller plus loin et étendre la classe ImageView comme:

    public fun ImageView.load(path: String, request: (RequestCreator) -> RequestCreator) {
    request(getContext().picasso.load(path)).into(this)    }
    
0
Varun Malhotra