当前位置: 首页 > 知识库问答 >
问题:

适配器在使用壁画库时显示错误的图像

尤祖鹤
2023-03-14

我已经使用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个答案

上官兴昌
2023-03-14

您的imgPropertyImage应该是SimpleDraWeeView,而不是ImageView。

 类似资料:
  • 我一直在使用库来加载适配器中的图像,但图像的设置并不像我预期的那样正确。下面是我的代码:

  • 我正试图让地图在我的Json适配器中工作。但不知何故,我总是收到错误信息: JAVAlang.NullPointerException:尝试调用虚拟方法“void”。所容纳之物上下文空对象引用上的startActivity(android.content.Intent) 这是我的第二个Android项目,我找不到我的错误。我希望你们中的一些人能帮助我。

  • 我正在开发一个画廊屏幕,允许用户从设备中选择一些图像并发送给另一个用户。我正在使用加载图像,但是根据设备的不同,图像加载非常慢,屏幕上的滚动也很慢。 谁知道怎么解决这个问题? 谢谢!

  • 变量'viewholder'、'position'&model'是从内部类访问的,它需要声明为final,但当我将其声明为final时,在适配器中显示错误。我正在使用Firebase 11.2.0请帮助我

  • 但它不是加载图像,我也尝试了不同的URL但相同的结果,所以我错过了...

  • 我得到了一堆我想用fresco加载的抽屉,我想用size来处理这些图像,我怎么用xml用fresco来做呢?或者,如果xml是不可能的,您如何在代码中实现它? 上面的代码不起作用,除非我设置了固定的大小。