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