package com.ttj.fragment; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import lib.view.ViewUtils; import lib.view.annotation.ViewInject; import android.app.AlertDialog; import android.app.AlertDialog.Builder; import android.content.DialogInterface; import android.content.DialogInterface.OnClickListener; import android.content.Intent; import android.os.Bundle; import android.support.v4.view.ViewPager.OnPageChangeListener; 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; import android.widget.RelativeLayout.LayoutParams; 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.ttj.MyApplication; import com.ttj.NetFragment; import com.ttj.R; import com.ttj.activity.Area_AddAty; import com.ttj.activity.Goods_SearchAty; import com.ttj.activity.My_CollectListAty; import com.ttj.activity.My_OrderListAty; import com.ttj.activity.User_LoginAty; import com.ttj.adapter.Home_ListAdapter; import com.ttj.adapter.ImagePagerAdapter; import com.ttj.bean.AryNetResultBean; import com.ttj.bean.HomeGoodsListBean; import com.ttj.cache.CacheManager; import com.ttj.constants.ResultCode; import com.ttj.constants.Url; import com.ttj.utils.JsonUtils; import com.ttj.utils.MD5; import com.ttj.utils.SPUtils; import com.ttj.utils.TextUtils; import com.ttj.utils.ToastUtil; import com.ttj.view.AutoScrollViewPager; /** * 主界面 * * @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.view_pager) private AutoScrollViewPager viewPager; @ViewInject(R.id.viewGroup) private LinearLayout linearLayout; private ImageView[] tips; @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; private List<Integer> imageIdList; @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); } }); imageIdList = new ArrayList<Integer>(); imageIdList.add(R.drawable.banner1); imageIdList.add(R.drawable.banner2); imageIdList.add(R.drawable.banner3); imageIdList.add(R.drawable.banner4); viewPager.setAdapter(new ImagePagerAdapter(getActivity(), imageIdList) .setInfiniteLoop(true)); tips = new ImageView[imageIdList.size()]; for (int i = 0; i < imageIdList.size(); i++) { ImageView mImageView = new ImageView(getActivity()); tips[i] = mImageView; LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams( new ViewGroup.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); layoutParams.rightMargin = 3; layoutParams.leftMargin = 3; mImageView.setBackgroundResource(R.drawable.normal); linearLayout.addView(mImageView, layoutParams); } setImageBackground(0); viewPager.setOnPageChangeListener(new MyOnPageChangeListener()); viewPager.setInterval(2000); viewPager.startAutoScroll(); viewPager.setCurrentItem(Integer.MAX_VALUE / 2 - Integer.MAX_VALUE / 2 % imageIdList.size()); checkAgentID(); btnSearch.setOnClickListener(this); imgScan.setOnClickListener(this); llHot.setOnClickListener(this); llOftenBuy.setOnClickListener(this); llMyOrder.setOnClickListener(this); llMyCollect.setOnClickListener(this); return v; } private void setImageBackground(int selectItems) { for (int i = 0; i < tips.length; i++) { if (i == selectItems) { tips[i].setBackgroundResource(R.drawable.focused); } else { tips[i].setBackgroundResource(R.drawable.normal); } } } public class MyOnPageChangeListener implements OnPageChangeListener { @Override public void onPageSelected(int position) { setImageBackground((position) % imageIdList.size()); } @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageScrollStateChanged(int arg0) { } } private void checkAgentID() { if (agentId.equals("")) { Intent intent = new Intent(); intent.setClass(getActivity(), Area_AddAty.class); startActivityForResult(intent, ResultCode.Area_ReqCode); } else { initNet(1); } } @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (resultCode == ResultCode.Area_ResCode) { agentId = data.getStringExtra("TAgentID"); SPUtils.saveAgentID(getActivity(), agentId); SPUtils.saveUpdate(getActivity(), true); ToastUtil.show(getActivity(), "地区选择成功", 600); initNet(1); } else { AlertDialog.Builder dialog = new Builder(getActivity()); dialog.setTitle("提醒"); dialog.setMessage("使用前请选择区域"); dialog.setCancelable(false); dialog.setNegativeButton("去选择", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { checkAgentID(); } }); dialog.setPositiveButton("退出", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { MyApplication.getInstance().finishAllActivity(); } }); dialog.show(); } } private void initNet(int tt) { if (tt == 1 && CacheManager.isExistDataCache(getActivity(), "_homelist") && !CacheManager.isCacheDataFailure(getActivity(), "_homelist") && !SPUtils.getUpdate(getActivity())) { String result = (String) CacheManager.readObject(getActivity(), "_homelist"); success(result, 0); } else { if (TextUtils.isBlank(agentId)) { Intent intent = new Intent(); intent.setClass(getActivity(), Area_AddAty.class); startActivityForResult(intent, ResultCode.Area_ReqCode); } 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 { ToastUtil .show(getActivity(), netBean.getStatus().getMessage(), 500); } } }