android通过for循环得到bitmap,不知道是不是异步的原因,uri每次都一样,如何解决,如何同步得到bitmap,我的uri也可能是网页url或者本地地址
for (ImagesEntity imagesEntity : imagesEntities) {
final String uri = imagesEntity.getImage();
BitmapUtils.getBitmap(getActivity(), uri, new BitmapUtils.LoadImageCallback() {
@Override
public void callback(Bitmap result) {
//getBitmap
}
});
}
public static void getBitmap(Context context, String uri, final LoadImageCallback callback) {
LogUtils.d("getBitmap: " + uri);
Glide.with(context)
.load(uri)
.asBitmap()
.into(new SimpleTarget<Bitmap>() {
@Override
public void onResourceReady(Bitmap bitmap, GlideAnimation anim) {
callback.callback(bitmap);
}
});
}
이런 방법으로 비트맵에 접근하고 루프에 다음 메소드를 작성하면 스레드에 배치할 수 있습니다
으아아아uri는 imageEntity에서 읽혀집니다. uri는 매번 동일하며 동기화 및 비동기성과 관련이 없습니다.
또한 이 비동기 콜백을 동기 콜백으로 변경하려면 나중에 get()을 추가하면 됩니다. 이 메서드는 결과가 반환될 때까지 기다립니다.