购物车加减

1.在子商品的adapter:

 //自定义view
        viewHolder.customCounterView.setData(this,mdata,i);
        viewHolder.customCounterView.setListener(new CustomCounterView.goodslistener() {
            @Override
            public void callback() {
                if(goodsListener!=null)
                {
                    goodsListener.callback();
                }
            }
        });

      //接口回调
    private  GoodsListener goodsListener;

    public void  setOnclick(GoodsListener listener)
    {
        this.goodsListener=listener;
    }
    public interface  GoodsListener
    {
        void  callback();
    }

2.在自定义View

package com.bw.ymy.dat20;

import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
import android.widget.EditText;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;

import com.bw.ymy.dat20.bean.GoodsBean;

import java.util.ArrayList;
import java.util.List;

public class CustomCounterView extends RelativeLayout implements View.OnClickListener {

    private EditText num;
    private TextView add,jian;

    private List<GoodsBean.DataBean.ListBean> list=new ArrayList<>();
    private GoodsAdapter goodsAdapter;
    private int position;
    private int nums;
    private Context context;

    public CustomCounterView(Context context) {
        super(context);
        init(context);
    }

    public CustomCounterView(Context context, AttributeSet attrs) {
        super(context, attrs);
        init(context);
    }

    public CustomCounterView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        init(context);
    }
    private  void init(Context context)
    {
        this.context=context;
        //获取布局
        View view=View.inflate(context,R.layout.view_add,null);
        add=view.findViewById(R.id.add);
        jian=view.findViewById(R.id.jian);
        num=view.findViewById(R.id.num);
        jian.setOnClickListener(this);
        add.setOnClickListener(this);
        addView(view);
    }

    @Override
    public void onClick(View v) {

        switch (v.getId())
        {
            case R.id.jian:
                if(nums>1)
                {
                    nums--;
                }else
                {
                    Toast.makeText(context, "最少为1", Toast.LENGTH_SHORT).show();
                }
                list.get(position).setNum(nums);
                goodslistener.callback();
                goodsAdapter.notifyDataSetChanged();
                break;
            case R.id.add:

                nums++;
                num.setText(nums+"");
                list.get(position).setNum(nums);
                goodslistener.callback();
                goodsAdapter.notifyDataSetChanged();
                break;


        }

    }
    public void setData(GoodsAdapter goodsAdapter, List<GoodsBean.DataBean.ListBean> mdata, int i) {

        this.list=mdata;
        this.goodsAdapter=goodsAdapter;
        position=i;
        nums=list.get(i).getNum();
        num.setText(nums+"");

    }

    private   goodslistener goodslistener;

    public  void  setListener(goodslistener listener)
    {
        this.goodslistener=listener;
    }
    public  interface  goodslistener
    {
        void  callback();
    }


}

自定义view布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <TextView
        android:id="@+id/add"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="+"/>
    <EditText
        android:id="@+id/num"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="55555"
        android:background="@drawable/view"/>
    <TextView
        android:id="@+id/jian"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="—"/>

</LinearLayout>

输入框

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#ffffff" />

    <stroke
        android:width="1dp"
        android:color="#999999" />
    <corners android:radius="30dp" />


</shape>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值