public class GouActivity extends Activity {
private ListView gou_listview;
private TextView title;
private CheckBox check_all;
private TextView zong;
private Button money;
private List<Shopping> list;
private MyBase adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_gou);
//初始化组件
title = (TextView) findViewById(R.id.text_title);
gou_listview = (ListView) findViewById(R.id.gou_ListView);
check_all = (CheckBox) findViewById(R.id.check_all);
zong = (TextView) findViewById(R.id.text_zong);
money = (Button) findViewById(R.id.btn_money);
//更改标题
title.setText("购物车");
//接收传值
Intent intent = getIntent();
list = (List<Shopping>) intent.getSerializableExtra("list");
//设置适配器
adapter = new MyBase();
gou_listview.setAdapter(adapter);
//计算总价
getTotal();
//全选
check_all.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
for (int i = 0; i < list.size(); i++) {
list.get(i).setCheck(isChecked);
}
//重新计算总价
getTotal();
//刷新适配器
adapter.notifyDataSetChanged();
}
});
}
private void getTotal() {
double x=0;
for (int i = 0; i < list.size(); i++) {
if(list.get(i).isCheck()){
double price = Double.parseDouble(list.get(i).getPrice());
x+=price;
}
}
zong.setText("总价:"+x+"元");
}
class MyBase extends BaseAdapter{
@Override
public int getCount() {
// TODO Auto-generated method stub
return list.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return list.get(position);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
final ViewHolder holder;
if (convertView == null) {
convertView = View.inflate(GouActivity.this, R.layout.shopp_myase, null);
holder = new ViewHolder();
holder.imageView = (ImageView) convertView.findViewById(R.id.ImageView);
holder.text_name = (TextView) convertView.findViewById(R.id.text_name);
holder.text_price = (TextView) convertView.findViewById(R.id.text_price);
holder.box = (CheckBox) convertView.findViewById(R.id.CheckBox);
convertView.setTag(holder);
}else {
holder = (ViewHolder) convertView.getTag();
}
//赋值
holder.imageView.setImageResource(list.get(position).getImage());
holder.text_name.setText("商品名称:"+list.get(position).getName());
holder.text_price.setText("商品价格:"+list.get(position).getPrice());
holder.box.setChecked(list.get(position).isCheck());
//勾选条目内的复选框
holder.box.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
boolean checked = holder.box.isChecked();
list.get(position).setCheck(checked);
//重新调用计算总价方法
getTotal();
}
});
return convertView;
}
class ViewHolder{
ImageView imageView;
TextView text_name,text_price;
CheckBox box;
}
}
}