0

RemoteViewsFactory를 사용하여 위젯에서 목록보기를 채우고 있습니다.위젯의 RemoteViewsFactory와 UniversalImageLoader 사용

위젯에는 이미지가 포함되어 있습니다. 원격 뷰에서 비트 맵 및 setImageView()를로드하는 가장 좋은 방법은 무엇입니까?

감사합니다.

+0

당신이 여기 봤어을? https://github.com/nostra13/Android-Universal-Image-Loader/blob/master/sample/src/com/nostra13/example/universalimageloader/widget/UILWidgetProvider.java – NOSTRA

+0

안녕하세요, NOSTRA, 감사합니다. 나는 먼저 그곳을 보았다. 그리고 위젯 공급자로 이미지 뷰를 채우는 좋은 예가 있지만. 나는 RemoteViewsFactory를 사용하여 (widget에서) listview를 동적으로 채울 때이 메소드를 꽤 똑같이 사용할 수 있다고 생각하지 않는다. 적어도 제한된 이해 위젯부터. – FlashAsh99

+0

내가 필요로 할 수도있는 것은 ImageLoader에서 비트 맵을 동 기적으로 가져 오는 방법입니다. 가능한지 확실하지 않은가요? – FlashAsh99

답변

2

동기 ('loadImage (...)'와 displayImage(...)을위한 작품) 이미지를로드하는 방법 :

final Object lock = new Object(); 
boolean loaded = false; 
ImageSize targetImageSize = new ImageSize(70, 70); 
ImageLoader.getInstance().loadImage(imageUri, targetImageSize, options, new SimpleImageLoadingListener() { 
    @Override 
    public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) { 
     loaded = true; 
     // Do whatever you want with loadedImage 

     synchronize(lock) { 
      lock.notifyAll(); 
     } 
    } 
}); 
if (!loaded) { 
    synchronize(lock) { 
     lock.wait(); 
    } 
} 
+0

Nostra에게이 질문을 올린 후, 위젯에서 디자인을 변경하여 listview를 사용하지 않았습니다. 시도해 보지는 않았지만, 이것을 remoteviewsfactory – FlashAsh99

+0

Nostra 내에서 이미지를 채울 수있게해야하므로 대답으로 표시 할 것입니다.이 방법은 작동하지 않습니다. lock.wait() 행을 실행하면 이미지를 다운로드하지만 ImageLoadingListener의 콜백이 실행되지 않습니다 (onLoadingStarted 제외). 따라서 notify는 결코 호출되지 않으며 메서드는 결코 반환되지 않습니다. – Ixx