ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

购物车、全选

2019-03-19 14:57:12  阅读:240  来源: 互联网

标签:get text list 购物车 全选 convertView position holder


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;
	}
}

}

标签:get,text,list,购物车,全选,convertView,position,holder
来源: https://blog.csdn.net/qq_44574528/article/details/88661234

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有