1

문제에 대한 해결책을 게시하고 싶습니다. 다른 사람들이 같은 문제에 직면하는 데 도움이되기를 바랍니다. 나는 아주 아주 좋은 안드로이드 범용 이미지 로더 (AUIL)를 사용하기 위해 오늘 시작안드로이드 용 RemoteViewsFactory 위젯 Universal 이미지 로더

:

here

원래 질문이었다 사용할 수있는 안드로이드 범용 이미지 로더 라이브러리 관련이있다! 공유해 주셔서 감사합니다.

필자는 Provider 클래스의 안드로이드 위젯 프로젝트에서 AUIL을 사용할 수 있지만 위젯 내부에있는 ListView 내부에 배수 이미지를로드하려고한다는 것을 알고 있습니다.

답변

3

내가 찾을 관리 솔루션은

public class YourViewsFactory implements RemoteViewsService.RemoteViewsFactory 
{ 
Map<Integer, Boolean> flags = Collections.synchronizedMap(new HashMap<Integer, Boolean>()); 
Bitmap mBitmap; 
Handler handler = new Handler(Looper.getMainLooper()); 


    @Override 
    public RemoteViews getViewAt(final int position) 
{ 
    final RemoteViews row = new RemoteViews(ctxt.getPackageName(), R.layout.row); 
    flags.put(position, false); 
    handler.post(new Runnable() 
    { 
    @Override 
    public void run() 
    { 
     m_imgLoader.loadImage(YOUR_IMAGE_URL, new SimpleImageLoadingListener() 
     { 
      @Override 
      public void onLoadingStarted(String imageUri, View view) 
      { 
      } 

      @Override 
      public void onLoadingFailed(String imageUri, View view, FailReason failReason) 
      { 
       flags.put(position, true); 
      } 

      @Override 
      public void onLoadingCancelled(String imageUri, View view) 
      { 
       flags.put(position, true); 
      } 

      @Override 
      public void onLoadingComplete(String arg0, View arg1, Bitmap bitmap) 
      { 
       mBitmap = bitmap; 
       flags.put(position, true); 
      } 
     }); 
    } 
}); 

while (!flags.get(position)) 
{ 
    try 
    { 
     Thread.sleep(100); 
    } catch (InterruptedException e) 
    { 
     e.printStackTrace(); 
    } 
} 
flags.put(position, false); 
if (mBitmap != null) 
{ 
    row.setImageViewBitmap(R.id.ivPoster, mBitmap); 
} else 
{ 
    row.setImageViewResource(R.id.ivPoster, R.drawable.cw); 
} 
mBitmap = null; 
    } // End of getViewAt override 


} // End of class 

이 아닌 내 솔루션 만 사용할 수 VOVA Klyshevich here 중 하나입니다!

+0

여전히 최신 버전의 라이브러리와 관련이 있습니까? loadImageSync (...)를 사용하지 않는 이유는 무엇입니까? – grebulon

+0

목록에 약 20 개의 요소가있는 경우 스크롤이 비현실적으로 느립니다. 그리고 약간의 up-down주기 이후 그것은 발사 장치를 부순다. – anil

+0

@ azerto00 코드에서 캐시를 유지 관리하는 방법을 알려주시겠습니까? – Sangeetha

관련 문제