沈斌
2017-01-02 26008989ed5af5eaad82ce29d9a8b8e2e35e2254
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
package com.pingplusplus.demoapp;
 
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import java.util.List;
 
/**
 * Created by sunkai on 15/3/17.
 */
public class GoodsAdapter extends BaseAdapter {
    private List<Good> mList;
    private Context mContext;
 
    public GoodsAdapter(Context context, List<Good> list) {
        this.mContext = context;
        this.mList = list;
    }
 
    @Override
    public int getCount() {
        return null == mList ? 0 : mList.size();
    }
 
    @Override
    public Object getItem(int position) {
        return mList.get(position);
    }
 
    @Override
    public long getItemId(int position) {
        return position;
    }
 
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder viewHolder = null;
        if (null == convertView) {
            convertView = LayoutInflater.from(mContext).inflate(R.layout.goods_item,null);
            viewHolder = new ViewHolder();
            viewHolder.addCount = (Button)convertView.findViewById(R.id.addCount);
            viewHolder.reduceCount =(Button)convertView.findViewById(R.id.reduceCount);
            viewHolder.count = (TextView)convertView.findViewById(R.id.count);
            viewHolder.name =(TextView)convertView.findViewById(R.id.name);
            viewHolder.price =(TextView)convertView.findViewById(R.id.price);
            viewHolder.image = (ImageView) convertView.findViewById(R.id.image);
            convertView.setTag(viewHolder);
        } else {
            viewHolder = (ViewHolder) convertView.getTag();
        }
        final Good good = mList.get(position);
        viewHolder.count.setText("" + good.getCount());
        viewHolder.name.setText(good.getName());
        viewHolder.price.setText("" + good.getPrice());
        viewHolder.image.setImageDrawable(mContext.getResources().getDrawable(good.getImgRes()));
        viewHolder.addCount.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                good.setCount(good.getCount() + 1);
                notifyDataSetChanged();
            }
        });
        viewHolder.reduceCount.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (good.getCount() > 1) {
                    good.setCount(good.getCount() - 1);
                    notifyDataSetChanged();
                    ;
                }
            }
        });
        return convertView;
    }
 
    class ViewHolder {
        Button addCount;
        Button reduceCount;
        TextView name;
        TextView count;
        TextView price;
        ImageView image;
    }
}