package com.txsc.fragment; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import lib.view.ViewUtils; import lib.view.annotation.ViewInject; import com.barcode.CaptureAty; import com.handmark.pulltorefresh.library.PullToRefreshBase; import com.handmark.pulltorefresh.library.PullToRefreshBase.OnRefreshListener; import com.handmark.pulltorefresh.library.PullToRefreshScrollView; import com.txsc.NetFragment; import com.txsc.R; import com.txsc.activity.Goods_SearchAty; import com.txsc.activity.My_CollectListAty; import com.txsc.activity.My_OrderListAty; import com.txsc.activity.User_LoginAty; import com.txsc.adapter.Home_ListAdapter; import com.txsc.bean.AgentAreaBean; import com.txsc.bean.AryNetResultBean; import com.txsc.bean.HomeGoodsListBean; import com.txsc.cache.CacheManager; import com.txsc.constants.Url; import com.txsc.utils.JsonUtils; import com.txsc.utils.MD5; import com.txsc.utils.SPUtils; import com.txsc.utils.TextUtils; import com.txsc.utils.ToastUtil; import android.app.AlertDialog; import android.content.DialogInterface; import android.content.DialogInterface.OnClickListener; import android.content.Intent; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.ScrollView; import android.widget.TextView; /** * 主界面 * * @author Admin * */ public class Main_HomeFrag extends NetFragment { @ViewInject(R.id.p1_text_press_search) private TextView btnSearch; @ViewInject(R.id.p1_fresh_main_home) private PullToRefreshScrollView ptrScroll; @ViewInject(R.id.p1_line_my_hot) private LinearLayout llHot; @ViewInject(R.id.p1_line_my_oftenbuy) private LinearLayout llOftenBuy; @ViewInject(R.id.p1_line_my_order) private LinearLayout llMyOrder; @ViewInject(R.id.p1_line_my_collect) private LinearLayout llMyCollect; @ViewInject(R.id.p1_img_press_scan) private ImageView imgScan; @ViewInject(R.id.p1_lv_goods_list) private ListView lv_Goods; private List<HomeGoodsListBean> list; private Home_ListAdapter adapter; private String agentId; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View v = inflater.inflate(R.layout.p1_main_home_layout, null); ViewUtils.inject(this, v); agentId = SPUtils.getAgentID(getActivity()); list = new ArrayList<HomeGoodsListBean>(); adapter = new Home_ListAdapter(getActivity(), list); lv_Goods.setAdapter(adapter); ptrScroll.setOnRefreshListener(new OnRefreshListener<ScrollView>() { @Override public void onRefresh(PullToRefreshBase<ScrollView> refreshView) { ptrScroll.postDelayed(new Runnable() { @Override public void run() { ptrScroll.onRefreshComplete(); initNet(0); } }, 10); } }); if (agentId.equals("")) { getAreaAgent(); } else { initNet(1); } btnSearch.setOnClickListener(this); imgScan.setOnClickListener(this); llHot.setOnClickListener(this); llOftenBuy.setOnClickListener(this); llMyOrder.setOnClickListener(this); llMyCollect.setOnClickListener(this); return v; } private void getAreaAgent() { HashMap<String, String> params = new HashMap<String, String>(); params.put("port_password", MD5.getMD5ofStr(Url.KET)); asynNet(Url.Get_AreaList, params, 1); } private void initNet(int tt) { if (tt == 1 && CacheManager.isExistDataCache(getActivity(), "_homelist") && !CacheManager.isCacheDataFailure(getActivity(), "_homelist")) { String result = (String) CacheManager.readObject(getActivity(), "_homelist"); success(result, 0); } else { HashMap<String, String> params = new HashMap<String, String>(); params.put("top", 2 + ""); params.put("agent_id", agentId); params.put("port_password", MD5.getMD5ofStr(Url.KET + agentId)); asynNet(Url.Home_GoodsList, params, 0); } } @Override public void onclick(View v) { if (v == btnSearch) { Intent intent = new Intent(getActivity(), Goods_SearchAty.class); startActivity(intent); } else if (v == llMyOrder) { if (TextUtils.isBlank(SPUtils.getUid(getActivity()))) { ToastUtil.show(getActivity(), "抱歉,您还未登录,请登录", 500); Intent intent = new Intent(getActivity(), User_LoginAty.class); startActivity(intent); return; } Intent intent = new Intent(getActivity(), My_OrderListAty.class); startActivity(intent); } else if (v == llHot || v == llOftenBuy) { ToastUtil.show(getActivity(), "功能尚未开放", 500); } else if (v == llMyCollect) { if (TextUtils.isBlank(SPUtils.getUid(getActivity()))) { ToastUtil.show(getActivity(), "抱歉,您还未登录,请登录", 500); Intent intent = new Intent(getActivity(), User_LoginAty.class); startActivity(intent); return; } Intent intent = new Intent(getActivity(), My_CollectListAty.class); startActivity(intent); } else if (v == imgScan) { if (TextUtils.isBlank(SPUtils.getUid(getActivity()))) { ToastUtil.show(getActivity(), "抱歉,您还未登录,请登录", 500); Intent intent = new Intent(getActivity(), User_LoginAty.class); startActivity(intent); return; } Intent intent = new Intent(getActivity(), CaptureAty.class); startActivity(intent); } } @Override public void success(String result, int tag) { AryNetResultBean netBean = JsonUtils.parseAryNetResult(result); if (netBean.getStatus().getCode() == 200) { if (tag == 0) { List<HomeGoodsListBean> lists = JsonUtils .parseHomeGoodsList(netBean.getBackinfo().toString()); /** * 遍历去掉没有商品的HomeGoodsListBean */ List<HomeGoodsListBean> list2 = new ArrayList<HomeGoodsListBean>(); for (HomeGoodsListBean homeGoodsListBean : lists) { if (homeGoodsListBean.getGoodsList().size() != 0) { list2.add(homeGoodsListBean); } } adapter.clearData(); adapter.addData(list2); adapter.notifyDataSetChanged(); if (list2.size() != 0) { CacheManager.saveObject(getActivity(), result, "_homelist"); } } else if (tag == 1) { final List<AgentAreaBean> list = JsonUtils .parseAgentAreaList(netBean.getBackinfo().toString()); String[] str = new String[list.size()]; for (int i = 0; i < str.length; i++) { str[i] = list.get(i).getAreaCaption(); } str[0] += "(默认)"; new AlertDialog.Builder(getActivity()).setTitle("请选择地区") .setItems(str, new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { SPUtils.saveAgentID(getActivity(), list.get(which).getTAgentID()); agentId = list.get(which).getTAgentID(); initNet(1); } }).setNegativeButton("取消", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { SPUtils.saveAgentID(getActivity(), list.get(0) .getTAgentID()); agentId = list.get(0).getTAgentID(); initNet(1); } }).create().show(); } } else { ToastUtil .show(getActivity(), netBean.getStatus().getMessage(), 500); } } }