2016-11-07 11 views
0

Я использую picasso для сохранения изображения на диске при нажатии кнопки пользователем, и я хочу создать обратную связь в виде тоста для пользователя, чтобы изображение был загружен.Picasso - Отображение тоста/сообщения при сохранении образа на диск

Для этого я пытаюсь запустить тост на UI тему, используя следующий код ::

((AppCompatActivity)context).runOnUiThread(new Runnable() { 
       @Override 
       public void run() { 
        Toast.makeText(context, message, Toast.LENGTH_SHORT).show(); 
       } 
}); 

Что не работает. Изображение загружается и также отображается в галерее моего приложения, но Toast не появляется. Может ли кто-нибудь сказать мне, действительно ли я делаю это правильно, или это должно быть сделано другим способом?

FYI: Этот код запускается в методе onBitmapLoaded() объекта Target, который я передаю Picasso для загрузки изображения; Объект «контекст» здесь относится к контексту текущей активности.

Любая помощь будет оценена :)

ответ

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() { 

     } 
    }); 

Edit: Добавить строку из заполнителя

+0

Я сожалею, но проблема с этим является то, что этот метод работает только с ImageView в качестве мишени. –

+0

Если целевой объект загрузки ** ** является объектом пользовательского целевого объекта, нельзя использовать собственный вызов CallBack в качестве второго аргумента, так как у нас нет такого метода. : | –

+0

Я использую изображение в качестве временного заполнителя. –