package com.jshop.android.widget;
import java.util.ArrayList;
import java.util.HashMap;
import com.jshop.android.action.JshopMelectrocartAction;
import com.jshop.android.holder.ElecartListViewHolder;
import com.jshop.android.holder.GoodsListViewHolder;
import com.jshop.android.index.R;
import com.jshop.android.shop.JshopActivityNGoodsList;
import com.jshop.android.sqlite.DBHelper;
import com.jshop.android.util.Arith;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.SimpleAdapter.ViewBinder;
public class JshopListViewAdapter extends Activity {
private final DBHelper dbhelper=new DBHelper(this);
public class JshopMyGoodsListViewAdapter extends BaseAdapter {
private final ArrayList<HashMap<String, Object>> list;
private LayoutInflater myInflater;
public JshopMyGoodsListViewAdapter(
ArrayList<HashMap<String, Object>> list, Context context) {
this.list = list;
this.myInflater = LayoutInflater.from(context);
}
@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) {
GoodsListViewHolder holder = null;
if (convertView == null) {
holder = new GoodsListViewHolder();
convertView = myInflater.inflate(
R.layout.jshop_m_listforcategory, null);
holder.setPictureurl((ImageView) convertView
.findViewById(R.id.pictureurl));
holder.setGoodsname((TextView) convertView
.findViewById(R.id.goodsname));
holder.setMemberprice((TextView) convertView
.findViewById(R.id.memberprice));
holder.setWeight((TextView) convertView
.findViewById(R.id.weight));
holder.setUnitname((TextView) convertView
.findViewById(R.id.unitname));
holder.setAddtomyelecartmenu((ImageView) convertView
.findViewById(R.id.addtomyelecartmenu));
holder.setDetail((TextView) convertView
.findViewById(R.id.detail));
convertView.setTag(holder);
} else {
holder = (GoodsListViewHolder) convertView.getTag();
}
holder.getPictureurl().setImageBitmap(
(Bitmap) list.get(position).get("pictureurl"));
holder.getGoodsname().setText(
list.get(position).get("goodsname").toString());
holder.getMemberprice().setText(
list.get(position).get("memberprice").toString());
holder.getWeight().setText(
list.get(position).get("weight").toString());
holder.getUnitname().setText(
list.get(position).get("unitname").toString());
holder.getDetail().setText(
list.get(position).get("detail").toString());
holder.getAddtomyelecartmenu().setOnClickListener(
new OnClickListener() {
@Override
public void onClick(View v) {
JshopActivityNGoodsList jshopActivityNGoodsList = new JshopActivityNGoodsList();
jshopActivityNGoodsList.showConfirmAddtoCart(list,
position);
}
});
return convertView;
}
@Override
public void notifyDataSetChanged() {
// TODO Auto-generated method stub
super.notifyDataSetChanged();
}
}
/**
* 商品listview的适配器
* @author "chenda"
*
*/
public class JshopMyElecartListViewAdapter extends BaseAdapter {
private ArrayList<HashMap<String, Object>> electrocartgoodslists;
private JshopMelectrocartAction jshopMelectrocartAction=new JshopMelectrocartAction();
private final ArrayList<HashMap<String, Object>> list;
private LayoutInflater myInflater;
public JshopMyElecartListViewAdapter(
ArrayList<HashMap<String, Object>> list, Context context) {
this.list = list;
electrocartgoodslists = new ArrayList<HashMap<String, Object>>();//elecart
this.myInflater = LayoutInflater.from(context);
}
@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) {
ElecartListViewHolder holder = null;
if (convertView == null) {
holder = new ElecartListViewHolder();
convertView = myInflater.inflate(
R.layout.jshop_m_detaillistview, null);
holder.setGoodsname((TextView) convertView
.findViewById(R.id.goodsname));
holder.setMemberprice((TextView) convertView
.findViewById(R.id.memberprice));
holder.setNeedquantity((TextView) convertView.findViewById(R.id.needquantity));
holder.setPlus((ImageView) convertView.findViewById(R.id.plus));
holder.setMinus((ImageView) convertView.findViewById(R.id.minus));
convertView.setTag(holder);
} else {
holder = (ElecartListViewHolder) convertView.getTag();
}
holder.getGoodsname().setText(
list.get(position).get("goodsname").toString());
holder.getMemberprice().setText(
list.get(position).get("memberprice").toString());
holder.getNeedquantity().setText(
list.get(position).get("needquantity").toString());
holder.getPlus().setOnClickListener(
new OnClickListener() {
@Override
public void onClick(View v) {
JshopMelectrocartAction jmelecart=new JshopMelectrocartAction();
jmelecart.plusorMinusElecart(list, position, "plus", v.getContext());
}
});
holder.getMinus().setOnClickListener(
new OnClickListener() {
@Override
public void onClick(View v) {
JshopMelectrocartAction jmelecart=new JshopMelectrocartAction();
jmelecart.plusorMinusElecart(list, position, "minus", v.getContext());
}
});
return convertView;
}
@Override
public void notifyDataSetChanged() {
// TODO Auto-generated method stub
super.notifyDataSetChanged();
//重新计算总价和elecart的显示
//读取ele_cart缓存
Cursor ec=dbhelper.query(DBHelper.ELE_CART_TM_NAME);
electrocartgoodslists=jshopMelectrocartAction.getElecarttoSQLite(ec);
ec.close();
Double total=0.0;
for(int i=0;i<electrocartgoodslists.size();i++){
total=Arith.add(total, Arith.mul(Double.parseDouble(electrocartgoodslists.get(i).get("memberprice").toString()), Double.parseDouble(electrocartgoodslists.get(i).get("needquantity").toString())));
}
}
}
}