Android Caricamento di un'immagine


Esempio

ImageView

Per caricare un'immagine da un URL, Uri, ID risorsa o qualsiasi altro modello in un ImageView :

ImageView imageView = (ImageView) findViewById(R.id.imageView);
String yourUrl = "http://www.yoururl.com/image.png";

Glide.with(context)
    .load(yourUrl)
    .into(imageView);

Per Uris, sostituire yourUrl con il tuo Uri ( content://media/external/images/1 ). Per i Drawable, sostituire yourUrl con il proprio ID risorsa ( R.drawable.image ).

RecyclerView e ListView

In ListView o RecyclerView, puoi utilizzare esattamente le stesse linee:

@Override
public void onBindViewHolder(RecyclerView.ViewHolder viewHolder, int position) {
    MyViewHolder myViewHolder = (MyViewHolder) viewHolder;
    String currentUrl = myUrls.get(position); 

    Glide.with(context)
        .load(currentUrl)
        .into(myViewHolder.imageView);
}

Se non si desidera avviare un caricamento in onBindViewHolder , assicurarsi di clear() qualsiasi ImageView Glide possa essere gestito prima di modificare ImageView :

@Override
public void onBindViewHolder(RecyclerView.ViewHolder viewHolder, int position) {
    MyViewHolder myViewHolder = (MyViewHolder) viewHolder;
    String currentUrl = myUrls.get(position); 

    if (TextUtils.isEmpty(currentUrl)) {
        Glide.clear(viewHolder.imageView);
        // Now that the view has been cleared, you can safely set your own resource
        viewHolder.imageView.setImageResource(R.drawable.missing_image);
    } else {
        Glide.with(context)
            .load(currentUrl)
            .into(myViewHolder.imageView);
    }
}