i have used fresco library to load images in the adapter. but the images are not set correctly as i expected. Here is my code. please help me. thanks in advance.
public class HomeListingAdapter_recyler1 extends RecyclerView.Adapter { private Context context; private ArrayList propertyItemList; private ImageLoader mImageLoader; public HomeListingAdapter_recyler1(HomeListingActivity_recycler propertyViews, ArrayList propertyItemList) { Fresco.initialize(propertyViews); this.propertyItemList = propertyItemList; this.context = propertyViews; } @Override public CustomViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View itemLayoutView = LayoutInflater.from(parent.getContext()).inflate(R.layout.property_item_layout,parent,false); CustomViewHolder viewHolder = new CustomViewHolder(itemLayoutView); return viewHolder; } @Override public void onBindViewHolder(final CustomViewHolder holder, final int position) { mImageLoader = VolleySingletonPattern.getInstance(context).getImageLoader(); holder.txtPropertyName.setText(propertyItemList.get(position).ville); holder.txtPropertyType.setText(propertyItemList.get(position).bienName); if(propertyItemList.get(position).pieces.equalsIgnoreCase("0")){ holder.txtPropertySurfaceArea.setText(propertyItemList.get(position).surface+" "+context.getString(R.string.meter_square)); }else{ holder.txtPropertySurfaceArea.setText(propertyItemList.get(position).surface+" "+context.getString(R.string.meter_square)+" - "+ propertyItemList.get(position).pieces+" "+context.getResources().getString(R.string.pieces)); } holder.txtPropertyPrice.setText(propertyItemList.get(position).montantLoyer); Uri imageUri; try { if(!TextUtils.isNullOrEmpty(propertyItemList.get(position).photo)) { imageUri = Uri.parse(propertyItemList.get(position).photo); holder.imgPropertyImage.setVisibility(View.VISIBLE); holder.imgPropertyImage.setImageURI(imageUri); } } catch (Exception e) { } } @Override public int getItemCount() { return propertyItemList.size(); } public class CustomViewHolder extends RecyclerView.ViewHolder { SimpleDraweeView imgPropertyImage; public TextView txtPropertyName , txtPropertyType , txtPropertySurfaceArea ,txtPropertyPrice; public CustomViewHolder(View itemView) { super(itemView); imgPropertyImage = (SimpleDraweeView) itemView.findViewById(R.id.image_property); txtPropertyName = (TextView) itemView.findViewById(R.id.txt_property_name); txtPropertyType = (TextView) itemView.findViewById(R.id.txt_property_type); txtPropertySurfaceArea = (TextView) itemView.findViewById(R.id.txt_property_surface_piece); txtPropertyPrice = (TextView) itemView.findViewById(R.id.txt_property_price); } } }
Your imgPropertyImage should be a SimpleDraweeView
, not an ImageView.