购物车

//adapter

package adapter;

import android.content.Context;
import android.media.Image;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseExpandableListAdapter;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.ImageView;
import android.widget.TextView;

import com.bumptech.glide.Glide;
import com.example.w.gouwuche2.MainActivity;
import com.example.w.gouwuche2.R;

import java.util.List;
import bean.Listbean;

public class MyAdapter extends BaseExpandableListAdapter {

    private Context context;
    private List<Listbean.DataBean> dataBeans;
    private groupViewHolder holder;
    private childViewHolder holder1;

    public MyAdapter(Context context, List<Listbean.DataBean> dataBeans) {
        this.context = context;
        this.dataBeans = dataBeans;
    }

    @Override
    public int getGroupCount() {
        return dataBeans.size();
    }

    @Override
    public int getChildrenCount(int groupPosition) {
        return dataBeans.get(groupPosition).getList().size();
    }

    @Override
    public Object getGroup(int groupPosition) {
        return dataBeans.get(groupPosition);
    }

    @Override
    public Object getChild(int groupPosition, int childPosition) {
        return dataBeans.get(groupPosition).getList().get(childPosition);
    }

    @Override
    public long getGroupId(int groupPosition) {
        return groupPosition;
    }

    @Override
    public long getChildId(int groupPosition, int childPosition) {
        return childPosition;
    }

    @Override
    public boolean hasStableIds() {
        return true;
    }

    @Override
    public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {
        groupViewHolder holder=null;
        if (convertView == null) {
            holder = new groupViewHolder();
            convertView = View.inflate(context, R.layout.item_layout, null);
            holder.text_name = convertView.findViewById(R.id.text_view);
            convertView.setTag(holder);
        } else {
            holder= (groupViewHolder) convertView.getTag();
        }
        holder.text_name.setText(dataBeans.get(groupPosition).getSellerName());
        return convertView;
    }

    @Override
    public View getChildView(final int groupPosition, final int childPosition, boolean isLastChild, View convertView, ViewGroup parent) {
        childViewHolder holder1=null;
        if (convertView == null) {
            holder1 = new childViewHolder();
            convertView = View.inflate(context, R.layout.item_layout1, null);
            holder1.image = convertView.findViewById(R.id.image);
            holder1.price = convertView.findViewById(R.id.text_price);
            holder1.title = convertView.findViewById(R.id.text_title);
            holder1.jia=convertView.findViewById(R.id.btn_jia);
            holder1.jian=convertView.findViewById(R.id.btn_jian);
            holder1.contact=convertView.findViewById(R.id.text_contact);
            holder1.check=convertView.findViewById(R.id.check_box);
            convertView.setTag(holder1);

        } else {
            holder1= (childViewHolder) convertView.getTag();
        }
        holder1.price.setText(dataBeans.get(groupPosition).getList().get(childPosition).getPrice());
        holder1.title.setText(dataBeans.get(groupPosition).getList().get(childPosition).getTitle());
        holder1.contact.setText(dataBeans.get(groupPosition).getList().get(childPosition).getNum()+"");
       Glide.with(context).load(dataBeans.get(groupPosition).getList().get(childPosition).getImages().split("\\|")[0]).into(holder1.image);
       holder1.jia.setOnClickListener(new View.OnClickListener() {
           @Override
           public void onClick(View v) {
               int num = dataBeans.get(groupPosition).getList().get(childPosition).getNum();
               num++;
               dataBeans.get(groupPosition).getList().get(childPosition).setNum(num);
               notifyDataSetChanged();
           }
       });
       holder1.jian.setOnClickListener(new View.OnClickListener() {
           @Override
           public void onClick(View v) {
               int num = dataBeans.get(groupPosition).getList().get(childPosition).getNum();
               if (num > 1) {
                   num--;
               } else {
                   num=0;
               }
               dataBeans.get(groupPosition).getList().get(childPosition).setNum(num);
               notifyDataSetChanged();
           }
       });

        if (dataBeans.get(groupPosition).getList().get(childPosition).getSelected()==0) {
           holder1.check.setSelected(false);
        } else if (dataBeans.get(groupPosition).getList().get(childPosition).getSelected()==1) {
           holder1.check.setSelected(true);
        }
        holder1.check.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                int selected = dataBeans.get(groupPosition).getList().get(childPosition).getSelected();
                if (selected==0) {
                    dataBeans.get(groupPosition).getList().get(childPosition).setSelected(1);
                } else if (selected==1) {
                    dataBeans.get(groupPosition).getList().get(childPosition).setSelected(0);
                }
                notifyDataSetChanged();
            }
        });
        return convertView;
    }

    @Override
    public boolean isChildSelectable(int groupPosition, int childPosition) {
        return true;
    }

    class groupViewHolder{
        TextView text_name;
    }
    class childViewHolder{
        CheckBox check;
        ImageView image;
        TextView title;
        TextView price;
        Button jia;
        TextView contact;
        Button jian;
    }
}

2.//画方块

<?xml version="1.0" encoding="utf-8"?>
<shape android:shape="rectangle" xmlns:android="http://schemas.android.com/apk/res/android">
    <stroke android:color="#000000" android:width="0.1dp"/>
    <size android:width="25dp" android:height="15dp"/>
</shape>

 

3.//MyExpanListView

package com.example.w.gouwuche2.view;

import android.content.Context;
import android.util.AttributeSet;
import android.widget.ExpandableListView;

public class MyExpanview extends ExpandableListView {
    public MyExpanview(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        int spec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
        super.onMeasure(widthMeasureSpec, spec);
    }
}

//展开

int count = my_expan_listview.getCount();
for (int i=0;i<count;i++) {
    my_expan_listview.expandGroup(i);
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值