2016-11-07 4 views
0

ユーザーがボタンをタップして画像をディスクに保存するためにピカソを使用しています。ユーザーにトーストの形でフィードバックを生成したいダウンロードされました。このためPicasso - 画像をディスクに保存したときのトースト/メッセージ

、私は次のコードを使用してUIスレッド上でトーストを実行しようとしています::

実行されていない
((AppCompatActivity)context).runOnUiThread(new Runnable() { 
       @Override 
       public void run() { 
        Toast.makeText(context, message, Toast.LENGTH_SHORT).show(); 
       } 
}); 

。画像はダウンロードされ、アプリのギャラリーでも表示されますが、トーストは表示されません。誰かが私にこの権利を実際に行っているのか、それとも他のやり方でやるべきか教えてくれますか?

FYI:このコードは、ImageをダウンロードするためにPicassoに渡すTargetオブジェクトのonBitmapLoaded()メソッドで実行されています。ここでの「コンテキスト」オブジェクトは、現在のアクティビティのコンテキストを参照します。

は任意の助けをいただければ幸いです:)

答えて

0

は、コールバックを持つメソッドを使用して、そこには成功とエラーのメッセージを定義することができます。

final ImageView view = new ImageView(this); 
Picasso.with(this).load("http://i.imgur.com/DvpvklR.png").into(view, new Callback() { 
     @Override 
     public void onSuccess() { 
      Toast.makeText(context, message, Toast.LENGTH_SHORT).show(); 
     } 

     @Override 
     public void onError() { 

     } 
    }); 

編集:私は申し訳ありませんが、これで問題は、この方法が唯一のターゲットとしてImageViewのに動作することであるプレースホルダ

+0

の行を追加します。 –

+0

**イメージダウンロードターゲット**がカスタムターゲットオブジェクトである場合、そのようなメソッドが利用できないため、カスタムコールバックを第2引数として使用することはできません。 :| –

+0

一時的なプレースホルダとしてimageviewを使用しています。 –

関連する問題