I am trying to Implement Gallery App using Recycler view and Sub Sampling Gallery. Since my Image Count is around 850. When I try to load images into Gallery, the Gallery Lags.
here is my Recyclerview Adapter:-
public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewAdapter.RecyclerViewHolders> {
private ArrayList<String> yeniliste;
private Context context;
public RecyclerViewAdapter(Context context, ArrayList<String> itemList) {
this.yeniliste = itemList;
this.context = context;
}
@Override
public RecyclerViewHolders onCreateViewHolder(ViewGroup parent, int viewType) {
View layoutView = LayoutInflater.from(parent.getContext()).inflate(R.layout.gallery_item, null);
RecyclerViewHolders rcv = new RecyclerViewHolders(layoutView);
return rcv;
}
@Override
public void onBindViewHolder(final RecyclerViewHolders holder, final int position) {
try {
Bitmap bitmap = BitmapFactory.decodeFile(yeniliste.get(position));
holder.countryPhoto.setImage(ImageSource.bitmap(bitmap).dimensions(50,50));
}catch (Exception e){
e.printStackTrace();
}
holder.countryPhoto.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(v.getContext(),GalleryFullImage.class);
intent.putExtra("realid",String.valueOf(holder.getAdapterPosition()));
v.getContext().startActivity(intent);
}
});
}
@Override
public int getItemCount() {
return this.yeniliste.size();
}
public static class RecyclerViewHolders extends RecyclerView.ViewHolder implements View.OnClickListener{
public SubsamplingScaleImageView countryPhoto;
public RecyclerViewHolders(View itemView) {
super(itemView);
countryPhoto = (SubsamplingScaleImageView)itemView.findViewById(R.id.country_photo);
}
@Override
public void onClick(View view) {
Toast.makeText(view.getContext(), "Clicked Country Position = " + getAdapterPosition(), Toast.LENGTH_SHORT).show();
}
}
public void removeItem(int position)
{
yeniliste.remove(position);
notifyDataSetChanged();
}}