首页 文章

使用Fresco库时,适配器显示错误的图像

提问于
浏览
1

我使用fresco库在适配器中加载图像 . 但图像没有像我预期的那样正确设置 . 这是我的代码 . 请帮我 . 提前致谢 .

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);
        }
    }
}

1 回答

  • 1

    你的imgPropertyImage应该是 SimpleDraweeView ,而不是ImageView .

相关问题