【问题标题】:How do I increase or decrease the items in my shopping cart?如何增加或减少购物车中的商品?
【发布时间】:2020-08-01 20:03:01
【问题描述】:

我的购物车有些问题,我一一记下来。

1.当我想增加商品数量时,商品计数器对购物车中的所有商品都是通用的,也就是说如果第一个商品是3,那么下一个商品将从4开始。 有什么问题?

2.它还为每个人写下最新商品的价格。

3.当我确认最终购买时,如何清空购物车?

4.如何计算产品的总价?

卡适配器(FacultyAdapter)

 dbhandler mydb;

int a=0;
int counter=1;
int baseprice=1;
private Context context;
private String mes="";
private List<Faculty> facultyList;

public FacultyAdapter(Context context, List<Faculty> facultyList) {
    this.context = context;
    this.facultyList=facultyList;
}

@NonNull
@Override
public FacultyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {

    View view = LayoutInflater.from(context).inflate(R.layout.itemcard,parent,false);
    RecyclerView.LayoutParams lp = new RecyclerView.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
    view.setLayoutParams(lp);

    return new FacultyViewHolder(view);
}


 /////////////////////////////////////////////////
 @Override
 public void onBindViewHolder(@NonNull final FacultyViewHolder holder, int position) {
    final Faculty s = facultyList.get(position);
    holder.title.setText(s.getName());
    holder.price.setText(s.getPrice());
    baseprice=Integer.parseInt(s.getPrice());
    String photoname=s.getImage();

    Glide
            .with(context)
            .load( Urls.image+photoname)
            .placeholder(R.mipmap.ic_launcher_round)
            .error(R.drawable.logo)
           .into(holder.img);


    mydb=new dbhandler(context);

    holder.remove.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
                String e=s.getId().toString();
                mydb.delete(e);
               notifyDataSetChanged();                     
        }

    });

递增和递减按钮

   holder.inc.setOnClickListener(new View.OnClickListener() {
       @Override
       public void onClick(View v) {
           int tprice=0;
           Increment();
           holder.count.setText(""+counter);
           tprice= baseprice * counter;
           holder.price.setText(""+tprice);

       }
   });
    holder.dec.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            int tprice=0;
            Deccrement();
            holder.count.setText(""+counter);
            tprice= baseprice * counter;
            holder.price.setText(""+tprice);

        }
    });
}
    ////////////////////////////////////////

  @Override
  public int getItemCount() {
    return facultyList.size();
  }
    ////////////////////////////////


public class FacultyViewHolder extends RecyclerView.ViewHolder {

    TextView title;
    TextView price,count;
    CircleImageView img;
    CardView card;
  ImageButton remove,inc,dec;
    private FacultyViewHolder(View itemView) {
        super(itemView);
        title = itemView.findViewById(R.id.txt_list_item_title);
        price = itemView.findViewById(R.id.txt_list_item_des);
        remove = itemView.findViewById(R.id.remove_item);
       img=itemView.findViewById(R.id.image_cart);
        inc=itemView.findViewById(R.id.increment);
        dec=itemView.findViewById(R.id.decrement);
        count=itemView.findViewById(R.id.count);
        card = (CardView) itemView.findViewById(R.id.card);
    }
  }

增减函数

private void Increment(){
    counter++;
}
private void Deccrement(){
    if (counter==1)
        return;
    else {
        counter--;
    }
 }

}

【问题讨论】:

    标签: android android-studio


    【解决方案1】:

    问题 1 和 2 int counter=1; int baseprice=1 不应该是类变量,因为您可以在模型类中创建变量并从模型中检索值。

    问题 3。如何通过 Rest API 或 SQLLite 数据库将数据输入适配器。如果你从休息中得到它,那么它应该在你的服务器端处理,如果它在你的 SQLlite 数据库中,那么db.execSQL("delete from "+ TABLE_NAME);

    问题 4:如果您在模型类中节省价格,那么

    long sum = 0;
    for (Faculty m : facultyList) { // or whatever your local variable is
    sum += m.ttotal();
    }
    

    希望对你有帮助...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-26
      • 2017-11-21
      • 1970-01-01
      • 1970-01-01
      • 2021-04-02
      • 1970-01-01
      • 1970-01-01
      • 2020-06-17
      相关资源
      最近更新 更多