web-dev-qa-db-ja.com

Kotlinでのピカソコールバック

私はKotlinでAndroidアプリを作成しており、画像をダウンロードするためにピカソを使用する必要があります。画像にアニメーションを設定するために以下のJavaコードを確認しましたが、 Kotlinに変換できません。「into」関数で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)
6
Valentin Garcia

こんにちは、ピカソが提供するいくつかの方法があります。

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

2. utilsパッケージ内に新しいファイルを作成し、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)    }
    
0
Varun Malhotra