【问题标题】:Showing the number of quantity when press + button and decrease - button按+键和减-键时显示数量
【发布时间】:2021-07-08 19:36:20
【问题描述】:

我想显示price = (single item price * the total number of quantities) 的数量和价格。我了解如何显示项目,但我正在努力为每个项目放置按钮并显示它们的数量。如何为每一行添加+-,然后单击按钮分别计算价格。我的概念就像一个购物车,但它显示了数量、+- 按钮以及价格。

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

    String data1[],data2[];
    int images [];
    Context context;

    public myAdapter(Context ct, String s1 [], String s2[], int img[] ){
        context = ct;
        data1 = s1;
        data2 = s2;
        images = img;
    }

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

        LayoutInflater inflater = LayoutInflater.from(context);
        View view = inflater.inflate(R.layout.my_row,parent,false);
        return new MyViewHolder(view);
    }

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

        holder.mytext1.setText(data1[position]);
        holder.mytext2.setText(data2[position]);
        holder.myimage.setImageResource(images[position]);

    }

    @Override
    public int getItemCount() {
        return images.length;
    }

    public class MyViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {

        TextView mytext1, mytext2 , quantity;
        ImageView myimage , plus , minus;


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

            mytext1 = itemView.findViewById(R.id.Nama_Pakej);
            mytext2 = itemView.findViewById(R.id.Harga);
            quantity = itemView.findViewById(R.id.quantity);
            myimage = itemView.findViewById(R.id.imageView);
            plus    = itemView.findViewById(R.id.tambah);
            minus   = itemView.findViewById(R.id.tolak);

            itemView.setOnClickListener(this);
        }

        @Override
        public void onClick(View view) {
            if (itemView == plus){
            }
        }
    }
}

这是我的适配器。我正在使用卡片视图来显示我的项目。

【问题讨论】:

    标签: android android-recyclerview android-adapter


    【解决方案1】:

    要实现“价格=(单品价格*总数量)”使用简单的方法-

    public double mul(double quantity, double price) {
        return quantity * price;
    }
    

    然后使用增量和减量并更新数量和总价。示例-这里单品价格 100。

           private int increment;
           private int decrement;
           private String totalprice;
    
         plus.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //TODO
            //Increment
            increment = Integer.parseInt(quantity.getText().toString());
            increment++;
            quantity. setText(String. valueOf(increment));
            //update price
            totalprice = String.valueOf(mul(increment, 100));
            mytext2.setText(totalprice);
        }
    });
    
         minus.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //TODO
            //Decrement
            decrement = Integer.parseInt(quantity.getText().toString());
            decrement--;
            quantity. setText(String. valueOf(decrement));
            //update price
            totalprice = String.valueOf(mul(decrement, 100));
            mytext2.setText(totalprice);
        }
    });
    

    您也可以查看我的answer 以避免在活动生命周期更改时丢失数据。

    【讨论】:

    • 我能知道我应该把它放在适配器里吗...因为我使用的是卡片视图,所以需要注意的是持有人的东西...因为每个人都会有 4 件物品他们自己的加号按钮。我必须使用 [position] 来确定我指的是哪个加号按钮,这样可以使用吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-07
    • 2019-12-23
    • 2016-05-01
    相关资源
    最近更新 更多