package com.ttj.activity; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import lib.view.ViewUtils; import lib.view.annotation.ViewInject; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.GridView; import android.widget.ImageView; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.RadioGroup.OnCheckedChangeListener; import android.widget.TextView; import com.handmark.pulltorefresh.library.PullToRefreshBase; import com.handmark.pulltorefresh.library.PullToRefreshBase.OnRefreshListener; import com.handmark.pulltorefresh.library.PullToRefreshGridView; import com.ttj.MyApplication; import com.ttj.NetActivity; import com.ttj.R; import com.ttj.adapter.Goods_GridAdapter; import com.ttj.bean.AryNetResultBean; import com.ttj.bean.HomeGoodsListBean; import com.ttj.bean.PagerInfoBean; import com.ttj.constants.Url; import com.ttj.utils.AtyUtils; import com.ttj.utils.JsonUtils; import com.ttj.utils.LogUtils; import com.ttj.utils.MD5; import com.ttj.utils.SPUtils; import com.ttj.utils.TextUtils; import com.ttj.utils.ToastUtil; /** * 商品列表 * * @author Admin * */ public class Goods_ListAty extends NetActivity { @ViewInject(R.id.p2_good_list_group) private RadioGroup group; @ViewInject(R.id.p2_good_list_rab_time) private RadioButton rabTime; @ViewInject(R.id.p2_good_list_rab_num) private RadioButton rabNum; @ViewInject(R.id.p2_good_list_rab_price) private RadioButton rabPrice; @ViewInject(R.id.p2_fresh_good_list_gridview) private PullToRefreshGridView ptrGridview; @ViewInject(R.id.empt) private TextView emptView; @ViewInject(R.id.p2_img_good_list_back) private ImageView imgBack; @ViewInject(R.id.p2_text_good_list_search) private TextView textSearch; @ViewInject(R.id.p2_tv_to_car) private TextView tv_ToCar; private GridView gridView; private Goods_GridAdapter adapter; private int orderId = 0; private String parentId; private List<HomeGoodsListBean.goodsList> mList; private PagerInfoBean pagerBean; private String keys; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); MyApplication.getInstance().addActivity(this); setContentView(R.layout.p2_main_layout_goods_list); ViewUtils.inject(this); tv_ToCar.setOnClickListener(this); gridView = ptrGridview.getRefreshableView(); rabTime.setChecked(true); parentId = getIntent().getStringExtra("parentId"); keys = getIntent().getStringExtra("keys"); mList = new ArrayList<HomeGoodsListBean.goodsList>(); adapter = new Goods_GridAdapter(this, mList); gridView.setAdapter(adapter); gridView.setEmptyView(emptView); gridView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Intent intent = new Intent(Goods_ListAty.this, Goods_DetailAty.class); intent.putExtra("goods_id", mList.get(position).getGoods_id()); startActivity(intent); } }); ptrGridview.setOnRefreshListener(new OnRefreshListener<GridView>() { @Override public void onRefresh(PullToRefreshBase<GridView> refreshView) { if (ptrGridview.isHeaderShown()) { ptrGridview.postDelayed(new Runnable() { @Override public void run() { ptrGridview.onRefreshComplete(); HashMap<String, String> params = new HashMap<String, String>(); netData(params); params.put("order", orderId + ""); asynNet(Url.Goods_List, params, 0); } }, 0); } else { ptrGridview.postDelayed(new Runnable() { @Override public void run() { ptrGridview.onRefreshComplete(); if (pagerBean.getAllpage() == 0) { ToastUtil.show(Goods_ListAty.this, "暂无相关数据", 500); return; } if (pagerBean.getThispage() == pagerBean .getAllpage()) { ToastUtil.show(Goods_ListAty.this, "已经是最后一页了", 500); return; } HashMap<String, String> params = new HashMap<String, String>(); netData(params); params.put("page", (pagerBean.getThispage() + 1) + ""); netData(params); asynNet(Url.Goods_List, params, 1); } }, 0); } } }); group.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { switch (checkedId) { case R.id.p2_good_list_rab_time: // 添加时间 orderId = 0; changeNetget(parentId, 0); break; case R.id.p2_good_list_rab_num: // 销量 orderId = 1; changeNetget(parentId, 1); break; case R.id.p2_good_list_rab_price: // 价格 orderId = 2; changeNetget(parentId, 2); break; default: break; } } }); HashMap<String, String> params = new HashMap<String, String>(); netData(params); asynNet(Url.Goods_List, params, 0); imgBack.setOnClickListener(this); textSearch.setOnClickListener(this); } private void netData(HashMap<String, String> params) { params.put("agent_id", SPUtils.getAgentID(this)); params.put("port_password", MD5.getMD5ofStr(Url.KET + SPUtils.getAgentID(this))); if (!TextUtils.isBlank(parentId)) { params.put("sort_id", parentId + ""); } else { params.put("search_key", keys); } } private void changeNetget(String parentId, int order) { HashMap<String, String> params = new HashMap<String, String>(); netData(params); params.put("order", order + ""); asynNet(Url.Goods_List, params, 0); } @Override public void success(String result, int tag) { LogUtils.log(result); AryNetResultBean bean = JsonUtils.parseAryNetResult(result); pagerBean = bean.getPageinfo(); if (bean.getStatus().getCode() == 200) { List<HomeGoodsListBean.goodsList> lists = JsonUtils .parseGoodsList(bean.getBackinfo().toString()); if (tag == 0) { adapter.clearData(); } adapter.addData(lists); adapter.notifyDataSetChanged(); } } @Override public void onclick(View v) { if (v == imgBack) { Goods_ListAty.this.finish(); } else if (v == textSearch) { Intent intent = new Intent(this, Goods_SearchAty.class); startActivity(intent); } else if (v == tv_ToCar) { AtyUtils.turnToCar(Goods_ListAty.this); } } }