package com.txsc.fragment; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import android.annotation.SuppressLint; import android.app.AlertDialog; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.DialogInterface.OnClickListener; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.TextView; import com.google.gson.Gson; import com.txsc.NetFragment; import com.txsc.R; import com.txsc.activity.Main_HomeAty; import com.txsc.activity.Order_ConfirmListAty; import com.txsc.activity.User_LoginAty; import com.txsc.adapter.Adapter_ListView_cart; import com.txsc.bean.CarListBean; import com.txsc.bean.CarListBean.googsListBean; import com.txsc.bean.ObjNetResultBean; import com.txsc.constants.Url; import com.txsc.utils.JsonUtils; import com.txsc.utils.LogUtils; import com.txsc.utils.MD5; import com.txsc.utils.SPUtils; import com.txsc.utils.TextUtils; import com.txsc.utils.ToastUtil; /** * 购物车界面中的全部宝贝界面 */ @SuppressLint("ShowToast") public class Car_HomeFrag extends NetFragment implements com.txsc.adapter.Adapter_ListView_cart.onClick { private TextView tv_goShop, tv_cart_buy_Ordel, tv_clean_car; private static LinearLayout ll_cart; private ListView listView_cart; private static Adapter_ListView_cart adapter; private String str_del = "结算"; private List<googsListBean> mList; private static Context mContext; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = LayoutInflater.from(getActivity()).inflate( R.layout.p2_main_layout_my_car, null); mContext = getActivity(); initView(view); initNet(); return view; } @Override public void onStart() { super.onStart(); } public void initNet() { if (TextUtils.isBlank(SPUtils.getUid(mContext))) { ToastUtil.show(mContext, "抱歉,您还未登录,请登录", 500); Intent intent = new Intent(mContext, User_LoginAty.class); mContext.startActivity(intent); return; } HashMap<String, String> params = new HashMap<String, String>(); params.put("sp_userid", SPUtils.getUid(mContext) + ""); params.put("port_password", MD5.getMD5ofStr(Url.KET + SPUtils.getUid(mContext))); asynNet(Url.Shopping_Car, params, 0); } private void initView(View view) { tv_goShop = (TextView) view.findViewById(R.id.tv_goShop); tv_cart_buy_Ordel = (TextView) view .findViewById(R.id.tv_cart_buy_or_del); tv_clean_car = (TextView) view.findViewById(R.id.tv_cart_clear); tv_cart_buy_Ordel.setText(str_del); listView_cart = (ListView) view.findViewById(R.id.listView_cart); mList = new ArrayList<googsListBean>(); adapter = new Adapter_ListView_cart(getActivity(), mList); adapter.setOnClick(this); listView_cart.setAdapter(adapter); ll_cart = (LinearLayout) view.findViewById(R.id.ll_cart); listView_cart = (ListView) view.findViewById(R.id.listView_cart); // 如果购物车中有数据,那么就显示数据,否则显示默认界面 if (mList != null && mList.size() != 0) { adapter = new Adapter_ListView_cart(getActivity(), mList); listView_cart.setAdapter(adapter); ll_cart.setVisibility(View.GONE); } else { ll_cart.setVisibility(View.VISIBLE); } listView_cart.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { } }); tv_cart_buy_Ordel.setOnClickListener(this); tv_goShop.setOnClickListener(this); tv_clean_car.setOnClickListener(this); } @Override public void onClick(View view) { switch (view.getId()) { case R.id.tv_goShop:// 点击去逛逛 Main_HomeAty.setHome(); break; case R.id.tv_cart_buy_or_del:// 点击结算 // TODO 结算 new AlertDialog.Builder(getActivity()).setTitle("提醒") .setMessage("确定结算吗?").setNegativeButton("不", null) .setPositiveButton("是的", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Gson gson = new Gson(); String json = gson.toJson(mList); Intent intent = new Intent(getActivity(), Order_ConfirmListAty.class); intent.putExtra("list", json); startActivity(intent); } }).create().show(); break; case R.id.tv_cart_clear: new AlertDialog.Builder(getActivity()).setTitle("提醒") .setMessage("确定清空购物车吗?").setNegativeButton("不", null) .setPositiveButton("清空", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { HashMap<String, String> params = new HashMap<String, String>(); params.put("sp_userid", SPUtils.getUid(getActivity()) + ""); params.put( "port_password", MD5.getMD5ofStr(Url.KET + SPUtils.getUid(getActivity()))); asynNet(Url.Car_Clean, params, 2); } }).create().show(); default: break; } } @Override public void success(String result, int tag) { LogUtils.log(result); ObjNetResultBean bean = JsonUtils.parseNetResult(result); if (tag == 0) { if (bean.getStatus().getCode() == 200) { CarListBean.suppBean carBean = JsonUtils.parseCarList(bean .getBackinfo().toString()); adapter.clearData(); adapter.addData(carBean.getGoods_list()); adapter.notifyDataSetChanged(); if (carBean.getGoods_list().size() != 0) { ll_cart.setVisibility(View.GONE); } else { ll_cart.setVisibility(View.VISIBLE); } } } else if (tag == 1) { if (bean.getStatus().getCode() == 200) { ToastUtil.show(getActivity(), "删除成功", 500); initNet(); } else { ToastUtil.show(getActivity(), "删除失败,请重试", 500); } } else if (tag == 2) { if (bean.getStatus().getCode() == 200) { ToastUtil.show(getActivity(), "清空成功", 500); adapter.clearData(); adapter.notifyDataSetChanged(); ll_cart.setVisibility(View.VISIBLE); } else { ToastUtil.show(getActivity(), "清空失败,请重试", 500); } } else if (tag == 3) { if (bean.getStatus().getCode() == 200) { ToastUtil.show(getActivity(), "修改成功", 500); initNet(); } else { ToastUtil.show(getActivity(), "修改失败,请重试", 500); } } } @Override public void delclick(String id, String attr_Id) { HashMap<String, String> params = new HashMap<String, String>(); params.put("sp_userid", SPUtils.getUid(getActivity())); params.put("sp_goodsid", id); params.put("goods_attr_id", attr_Id); params.put("port_password", MD5.getMD5ofStr(Url.KET + SPUtils.getUid(getActivity()))); asynNet(Url.Goods_Delete, params, 1); } @Override public void changeclick(String id, String attr_Id, int num) { HashMap<String, String> params = new HashMap<String, String>(); params.put("sp_userid", SPUtils.getUid(getActivity())); params.put("sp_goodsid", id); params.put("goods_attr_id", attr_Id); params.put("sp_count", num + ""); params.put("port_password", MD5.getMD5ofStr(Url.KET + SPUtils.getUid(getActivity()))); asynNet(Url.Car_Change, params, 3); } @Override public void onclick(View v) { } }