首页 > 解决方案 > 如何从 Item.java 文件获取方法 CardListAdapter.java 文件?

问题描述

我已经创建了一个Item.java具有必要的 getter 和 setter 方法的模型类,但我无法从我的适配器类访问这些getter和方法。setter我不知道是什么问题。

任何帮助都将是非常可观的。我在下面发布了相关的课程。如果还有什么需要请评论。

1)模型类:Item.java

package com.shinysoftware.hp.androidswiperecycler.Model;

public class Item {

    String thumbnail;
    String price;
    String name;
    String description;
    int id;

    public Item(){

    }
    public String getThumbnail ()
    {
        return thumbnail;
    }

    public void setThumbnail (String thumbnail)
    {
        this.thumbnail = thumbnail;
    }

    public String getPrice ()
    {
        return price;
    }

    public void setPrice (String price)
    {
        this.price = price;
    }

    public String getName ()
    {
        return name;
    }

    public void setName (String name)
    {
        this.name = name;
    }

    public String getDescription ()
    {
        return description;
    }

    public void setDescription (String description)
    {
        this.description = description;
    }

    public int getId ()
    {
        return id;
    }

    public void setId (int id)
    {
        this.id = id;
    }
}

2)适配器类:CardListAdapter.java

导入 com.shinysoftware.hp.androidswiperecycler.Model.Item;

public class CardListAdapter extends RecyclerView.Adapter<CardListAdapter.MyViewHolder> {

private Context context;
private List<Item> list;

public CardListAdapter(Context context,List<Item> list) {
    this.context = context;
    this.list = list;
}

@Override
public MyViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) {

    View itemview=LayoutInflater.from(viewGroup.getContext())
            .inflate(R.layout.card_list_item,viewGroup,false);
    return new MyViewHolder(itemview);
}

@Override
public void onBindViewHolder(MyViewHolder holder, final int position) {

   final Item item=list.get(position);

   // BELOW IS MY ERROR LINE. I CAN'T GET MY METHOD (getName())

   holder.name.setText(item.getName());
}
@Override
public int getItemCount() {
    return list.size();
}

public class MyViewHolder extends RecyclerView.ViewHolder{

    public TextView name,description,price;

    public ImageView thumbnail;

    public RelativeLayout viewBackground,viewForeground;

    public MyViewHolder(View itemView) {
        super(itemView);

        name=itemView.findViewById(R.id.name);

        description=itemView.findViewById(R.id.description);

        price=itemView.findViewById(R.id.price);

        thumbnail=itemView.findViewById(R.id.thumbnail);

        viewBackground=itemView.findViewById(R.id.view_background);

        viewForeground=itemView.findViewById(R.id.view_foreground);
    }
  }
}

标签: android

解决方案


适配器中的项目和您的实际项目模型是不同的对象,只是名称相同,数据模型使用更好的命名和唯一性。


推荐阅读