2012-12-20 5 views
0

fragment가있는 viewPager 작업이 있습니다. 여섯 개의 미리보기 이미지에 대한 정보를 다운로드하려면 asyncTask를 시작하고 postExecute에는 정보와 비트 맵 객체 null이있는 이미지 클래스의 여섯 개 객체를 만듭니다. 객체가 생성되면 이미지를 다운로드합니다. 생성자 :ImageView에서 이미지가 동적으로 변경됩니다.

public MyImage(String name, String owner, String time, String date, 
     String total_rate, String votes, String description) { 
    //this.thumbnail = BitmapFactory. 
    Log.d(TAG, "Created image object"); 
    this.name = name; 
    this.owner = owner; 
    this.time = time; 
    this.date = date; 
    this.total_rate = Double.valueOf(total_rate); 
    this.votes = votes; 
    this.description = description; 

    downloadThumbnail(); 
} 

조각에는 6 개의 미리보기 이미지가있는 gridView가 있습니다. image 나 progressDialog에 기본 이미지를 설정할 수는 있지만 이미지를 다운로드 한 후에 어떻게 변경합니까? 청취자를 설정 하시겠습니까? 추신 어댑터에 대해 많이 알지 못합니다. 문제가있을 수 있습니다.

답변

0

다음과 같이 콜백을 추가 할 수 있습니다 먼저 클래스를 구현 : 공용 클래스 AsyncImageLoader {다음

public Drawable loadDrawable(final String imageUrl, final ImageCallback imageCallback) { 
     final Handler handler = new Handler() { 
      public void handleMessage(Message message) { 
       imageCallback.imageLoaded((Drawable) message.obj, imageUrl); 
      } 
     }; 
     new Thread() { 
      @Override 
      public void run() { 
       //TODO SOMETHING 
       ...... 
      } 
     }.start(); 
     return null; 
    } 

public interface ImageCallback { 
     public void imageLoaded(Drawable imageDrawable, String imageUrl); 

    } 

이 같이 할 수 AsyncImageLoader : ( AsyncImageLoader asyncImageLoader = 새 AsyncImageLoader); ...... 그리기 cachedImage = asyncImageLoader.loadDrawable (이미지 URL, 새로운 ImageCallback() { 공공 무효 imageLoaded (드로어 블 imageDrawable, 문자열 이미지 URL) {

  } 
     }); 
관련 문제