亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

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 關注
  • 102 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號