Пикассо Обратный звонок с Kotlin - PullRequest
0 голосов
/ 24 апреля 2019

Я создаю приложение для Android с Kotlin, и мне нужно использовать Picasso для загрузки изображений.Я видел этот Java-код ниже для установки анимации для изображений, но я не могу преобразовать его в Kotlin, потому что я не знаю, как установить Callback в функцию «в».

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
                    }
                });

Может кто-то помочья?

Мой фактический код:

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

Ответы [ 2 ]

3 голосов
/ 24 апреля 2019
Picasso.with(MainActivity::this)
       .load(imageUrl)
       .into(imageView, object: com.squareup.picasso.Callback {
                    override fun onSuccess() {
                        //set animations here

                    }

                    override fun onError() {
                        //do smth when there is picture loading error
                    }
                })
0 голосов
/ 24 апреля 2019

Привет, вот несколько способов, которые предоставляет Пикассо:

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

2.создайте новый файл внутри нашего пакета утилит, назовите его picasso.kt и заполните его простым кодом ниже:

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

3. Хотя это соответствует объекту получателя, мы можем вызвать следующий код в любом контексте:

picasso.load(path).into(imageView)
  1. Мы можем пойти дальше и расширить класс ImageView, например:

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