ListView全選刪除CheckBox

dingcheng998發表於2016-11-23

adapter:


public class listAdapter_shop extends BaseAdapter  {
    private Context context;
    private List<ShopData> list;
    private onChecked checked;

    public void setChecked(onChecked checked) {
        this.checked = checked;
    }

    public listAdapter_shop(Context context, List list){
        this.context = context;
        this.list = list;
    }
    @Override
    public int getCount() {
        return list.size();
    }

    @Override
    public Object getItem(int position) {
        return list.get(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(final int position, View convertView, ViewGroup parent) {
        //獲得每個item
        final ShopData data_map = (ShopData) list.get(position);
        ViewHolder viewHolder = null;
        if (convertView == null){
            //例項化物件
            convertView = LayoutInflater.from(context).inflate(R.layout.shop_listview_item,null);
            viewHolder = new ViewHolder();
            viewHolder.title = (TextView) convertView.findViewById(R.id.shop_item_title);
            viewHolder.price = (TextView) convertView.findViewById(R.id.shop_item_price);
            viewHolder.classify = (TextView) convertView.findViewById(R.id.shop_item_classify);
            viewHolder.amount = (TextView) convertView.findViewById(R.id.shop_item_amount);
            viewHolder.checkBox = (CheckBox) convertView.findViewById(R.id.shop_item_checkbox);
            viewHolder.images = (ImageView) convertView.findViewById(R.id.shop_item_img);
            viewHolder.edit_btn = (Button) convertView.findViewById(R.id.shop_item_editamount);
            convertView.setTag(viewHolder);
        }else {
            viewHolder = (ViewHolder)convertView.getTag();
        }
        //設定控制元件內容
        viewHolder.title.setText(data_map.getmTitle());
        viewHolder.price.setText("¥"+data_map.getmPrice()+"");
        viewHolder.classify.setText(data_map.getmClassify());
        viewHolder.amount.setText(data_map.getmAmount()+" "+"噸");
        viewHolder.checkBox.setChecked(data_map.isChecke());
//        viewHolder.images.setImageResource(0);

//
            viewHolder.checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
                @Override
                public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                    if (checked != null){
                        //回撥方法傳引數
                        data_map.setChecke(isChecked);
                        checked.CheckedChanged(position,isChecked);
                    }
                }
            });

        viewHolder.edit_btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
               
            }
        });
        return convertView;
    }


    public class ViewHolder{
        TextView title;
        TextView price;
        TextView classify;
        TextView amount;
        CheckBox checkBox;
        ImageView images;
        Button edit_btn;
    }

    public static interface onChecked{
        //選擇點選事件回撥
        public void CheckedChanged(int position, boolean isChecked);
        //修改購買數量事件回撥
        public void AmountChanged();

    }

    private int num = 0;
    private Button subtract,plus,cancel,sure;
    private EditText text;
    private AlertDialog.Builder builder;
    private AlertDialog dialog;

    
    
}

實體類:

package com.example.cuboo.mlcircles.DataClass;

/**
 * Created by cuboo on 2016/11/23.
 */

public class ShopData {
    private String mTitle;
    private float mPrice;
    private String mClassify;
    private int mAmount;
    private boolean Checke;

    public void setChecke(boolean checke) {
        Checke = checke;
    }

    public boolean isChecke() {
        return Checke;
    }

    public ShopData(String mTitle, float  mPrice, String mClassify, int  mAmount){
        this.mTitle = mTitle;
        this.mPrice = mPrice;
        this.mClassify = mClassify;
        this.mAmount = mAmount;
    }
    public String getmTitle() {
        return mTitle;
    }

    public void setmTitle(String mTitle) {
        this.mTitle = mTitle;
    }

    public float  getmPrice() {
        return mPrice;
    }

    public void setmPrice(float  mPrice) {
        this.mPrice = mPrice;
    }

    public String getmClassify() {
        return mClassify;
    }

    public void setmClassify(String mClassify) {
        this.mClassify = mClassify;
    }

    public int  getmAmount() {
        return mAmount;
    }

    public void setmAmount(int  mAmount) {
        this.mAmount = mAmount;
    }
}


相關文章