为了账号安全,请及时绑定邮箱和手机立即绑定

RecyclerView 增加(+)和减少(-)按钮不能为每个项目正常工作

RecyclerView 增加(+)和减少(-)按钮不能为每个项目正常工作

阿晨1998 2023-03-17 10:29:23
我在我的 recyclerview 中有两个按钮,用于增加(+)和减少(-)数量值,就像购物车应用程序一样,同时增加第 0 个项目的项目值我的下一个项目,即第 1 个按第 0 个项目的 previuos 值增加意味着如果我的价值第 0 项是 4,对于第 1 项,如果我将它递增 1,那么它将直接取 5,而不是从 0 开始。public class TeaListAdapter extends RecyclerView.Adapter<TeaListAdapter.MyViewHolder> {    private  int num=0;    private List<TeaListPOJO> teaItemList;    public class MyViewHolder extends RecyclerView.ViewHolder {        public TextView tvitemName, tvitemRate,number;        public ImageView ivItemImg;        public Button btnIncrease,btnDecrease;        RecyclerView.ViewHolder holder;        public MyViewHolder(View view) {            super(view);            tvitemName = (TextView) view.findViewById(R.id.txt_item_name);            tvitemRate = (TextView) view.findViewById(R.id.txt_item_price);            ivItemImg= (ImageView) view.findViewById (R.id.iv_item);            number=(TextView) view.findViewById (R.id.integer_number);            btnIncrease =view.findViewById(R.id.btn_increase);            btnDecrease = view.findViewById(R.id.btn_decrease);        }    }    public TeaListAdapter(List<TeaListPOJO> teaItemList) {        this.teaItemList = teaItemList;    }    @Override    public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {        View itemView = LayoutInflater.from(parent.getContext())                .inflate(R.layout.rv_placeorder_items, parent, false);        return new MyViewHolder (itemView);    }
查看完整描述

1 回答

?
UYOU

TA贡献1878条经验 获得超4个赞

你的问题是只为所有视图声明一个变量,你应该从中获取值然后TextView修改然后将它设置回TextView 试试这个代码


 holder.btnIncrease.setOnClickListener (new View.OnClickListener () {

            @Override

            public void onClick(View view) {

               int val = 0; 

                try{


                val = Integer.parseInt(holder.number.getText().toString());  

                }catch(Exception e) {

                val = 0; 

                }

                holder.number.setText (String.valueOf (val++));


            }

        });

        holder.btnDecrease.setOnClickListener (new View.OnClickListener () {

            @Override

            public void onClick(View view) {



                int val = 0; 

                try{


                val = Integer.parseInt(holder.number.getText().toString());  

                }catch(Exception e) {

                val = 0; 

                }

                if(val>0) val--;

                holder.number.setText (String.valueOf (val));


            }

        });


查看完整回答
反对 回复 2023-03-17
  • 1 回答
  • 0 关注
  • 119 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号