0

RecyclerView Bitmap zeigen nicht alle Bitmap-Bilder zeigen nur ein letzter, aber Text zeigen auf jeden ArtikelRecyclerView Bitmap zeigen nicht alle Bitmap-Bilder

Hier ist mein Adapter-Code, den ich in meinem Projekt bin mit:

ArrayList<Bitmap> bitmapArrayList; 
PathModel pathModel=pathList.get(position); 
holder.videoName= (TextView) myLayoutView.findViewById(R.id.FilePath); 

holder.videoThumb= (CircularImageView) 
myLayoutView.findViewById(R.id.VideoThumbnail); 
holder.videoName.setText(pathModel.getPath()); 

holder.videoThumb.setImageBitmap(bitmapArrayList.get(position)); 
VideoAdapter videoAdapter=new VideoAdapter(this,pathList,bitmapArrayList); 
    layoutManager = new LinearLayoutManager(this); 
    recyclerView.setLayoutManager(layoutManager); 
    recyclerView.setAdapter(videoAdapter); 

Click to see image

** Aktualisiert-Code ist hier meines Adapter **

public class VideoAdapter extends RecyclerView.Adapter<VideoAdapter.ViewHolder>{ 
Context context; 

ArrayList<PathModel> pathList; 

View myLayoutView; 

Bitmap bmThumbnail; 

ArrayList<Bitmap> bitmapArrayList; 


public VideoAdapter (Context context, ArrayList<PathModel> pathList, ArrayList<Bitmap> bitmapArrayList) { 

    this.context = context; 

    this.pathList=pathList; 

    this.bitmapArrayList=bitmapArrayList; 
    } 
@Override 

public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { 

    myLayoutView = LayoutInflater.from(context).inflate(R.layout.video_list, 
null); 

    return new ViewHolder(myLayoutView); 

    } 
@Override 

public void onBindViewHolder(ViewHolder myHolder,final int position) { 

final ViewHolder holder = (ViewHolder) myHolder; 

PathModel pathModel=pathList.get(position); 

holder.videoName= (TextView) myLayoutView.findViewById(R.id.FilePath); 

holder.videoThumb= (CircularImageView) 
myLayoutView.findViewById(R.id.VideoThumbnail); 

holder.videoName.setText(pathModel.getPath()); 

holder.videoThumb.setImageBitmap(bitmapArrayList.get(position)); 

// holder.videoThumb.setImageDrawable(new 
BitmapDrawable(context.getResources(),bitmapArrayList.get(position))); 
// holder.videoThumb.setImageResource(R.drawable.ab_add_student); 
    //  

holder.videoThumb.setImageURI(Uri.parse(pathList.get(position).getPath())); 

    } 
@Override 
public int getItemCount() { 
    return this.pathList.size(); 
    } 
class ViewHolder extends RecyclerView.ViewHolder { 

TextView videoName; 

CircularImageView videoThumb; 

ViewHolder(View itemView) { 
    super(itemView); 
} 
} 
} 
+0

überprüfen Sie bitte Ihre bitmapArrayList doe haben ein Bild oder nicht,‘gehen mit http: // Platz. github.io/picasso/, um Bilder anzuzeigen, –

Antwort

0

Sie sollten findViewById führen in Ihrem ViewHolder statt

+0

, aber warum zeigen Sie den gesamten Text, warum nicht nur Bitmap-Bilder anzeigen? –

1

Bild Laden ist eine schwere Aufgabe in android, So ist es nicht gute Bilder in Hauptthread und besser laden für diesen externe Bibliothek wie Picasso oder vergolden zu verwenden.

Siehe Link: https://inthecheesefactory.com/blog/get-to-know-glide-recommended-by-google/en

Vergessen Sie nicht, das Bild Pfad zu überprüfen, null ist oder nicht :)

+0

Danke allen –

+0

Ich habe Glide-Bibliothek versucht, aber es zeigt auch das letzte Bild und ich bin sicher, dass das Bitmap-Array nicht null ist. Ich werde glücklich sein Wenn mir jemand gute Lösung zur Verfügung stellt –

+0

Können Sie den vollständigen Code Ihres Adapters – EKN

Verwandte Themen