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

我在我的 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);

    }

阿晨1998
浏览 120回答 1
1回答

UYOU

你的问题是只为所有视图声明一个变量,你应该从中获取值然后TextView修改然后将它设置回TextView 试试这个代码&nbsp;holder.btnIncrease.setOnClickListener (new View.OnClickListener () {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; @Override&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; public void onClick(View view) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int val = 0;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; try{&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; val = Integer.parseInt(holder.number.getText().toString());&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }catch(Exception e) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; val = 0;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; holder.number.setText (String.valueOf (val++));&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; });&nbsp; &nbsp; &nbsp; &nbsp; holder.btnDecrease.setOnClickListener (new View.OnClickListener () {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; @Override&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; public void onClick(View view) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int val = 0;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; try{&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; val = Integer.parseInt(holder.number.getText().toString());&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }catch(Exception e) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; val = 0;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(val>0) val--;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; holder.number.setText (String.valueOf (val));&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; });
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java