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) {
}
}