recherche

Maison  >  Questions et réponses  >  le corps du texte

android如何同步得到bitmap

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);
                    }
                });
    }
PHPzPHPz2802 Il y a quelques jours506

répondre à tous(2)je répondrai

  • PHP中文网

    PHP中文网2017-04-17 17:26:41

    Il peut être placé dans un fil de discussion. Vous pouvez accéder au bitmap de cette manière et écrire la méthode suivante dans la boucle

     bitmap = Glide.with(context)
                    .load(getGlideUrl(url))
                    .asBitmap()
                    .diskCacheStrategy(DiskCacheStrategy.ALL)
                    .into(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL)
                    .get();

    répondre
    0
  • 黄舟

    黄舟2017-04-17 17:26:41

    uri est lu depuis imagesEntity. L'uri est le même à chaque fois et n'a rien à voir avec la synchronisation et l'asynchrone
    De plus, si vous souhaitez changer ce rappel asynchrone en synchrone, ajoutez simplement get() ensuite. Cette méthode attendra jusqu'à ce que le résultat soit renvoyé

    répondre
    0
  • Annulerrépondre