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

. 이미지가 다운로드되고 내 앱의 갤러리에서도 볼 수 있지만 토스트는 표시되지 않습니다. 누군가 내가이 권리를 실제로하고 있는지, 아니면 다른 방법으로해야하는지 말해 줄 수 있습니까?

FYI :이 코드는 이미지를 다운로드하기 위해 Picasso에 전달할 대상 객체의 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() { 

     } 
    }); 

편집 : 자리 표시 자

+0

미안하지만이 가진 문제는이 방법 만 대상으로 이미지 뷰와 함께 작동한다는 것입니다의 라인을 추가합니다. –

+0

** 이미지 다운로드 대상 **이 사용자 지정 대상 개체 인 경우 사용자 지정 콜백을 두 번째 인수로 사용할 수 없으므로 이러한 메서드를 사용할 수 없습니다. : | –

+0

imageview를 임시 자리 표시 자로 사용하고 있습니다. –