package com.youai.aistore.Fclass; import java.util.ArrayList; import android.annotation.SuppressLint; import android.app.Dialog; import android.content.Context; import android.content.Intent; import android.content.res.Resources; import android.os.AsyncTask; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.ArrayAdapter; import android.widget.LinearLayout; import android.widget.TextView; import com.youai.aistore.BaseActivity; import com.youai.aistore.CustomProgressDialog; import com.youai.aistore.MyApplication; import com.youai.aistore.R; import com.youai.aistore.Util; import com.youai.aistore.Bean.GoodsBean; import com.youai.aistore.Bean.ListGoodsBean; import com.youai.aistore.Home.MyGridview; import com.youai.aistore.NetInterface.Send; import com.youai.aistore.Product.ProductDetailsActivity; @SuppressLint("InflateParams") public class FclassFristViewActivity extends BaseActivity implements OnItemClickListener { private MyGridview toptitlegridview, g; // 上面标题gridview private LinearLayout addviewll; // 添加动态布局 private int listindex; private Resources rs; private String[] titlelist; // 标题数组 private ArrayList<View> addviewlist; private LayoutInflater inflater; // 需要使用inflate来动态载入界面 private Context context; private ArrayList<MyGridview> gridviewlist; private MyTask myTask; private ListGoodsBean fclasslist; private ArrayList<GoodsBean> ListBean; private FclassFristViewAdapter fclassAdapter; @SuppressWarnings("unused") private int type, id, postion; private Dialog progressDialog; public static boolean isfinish; @Override protected void onCreate(Bundle arg0) { super.onCreate(arg0); setTopLeftBackground(R.drawable.btn_search_navigation_back); setContentXml(R.layout.fclass_frist_view); String title = getIntent().getStringExtra("title");// 添加标题,获取传过来的值, listindex = getIntent().getIntExtra("listindex", -1);//接收传过来的ID,辨别点的那个组。 setTitleTxt(title); init(); if (Util.detect(context)) { myTask = new MyTask(); myTask.execute(""); } else { Util.ShowToast(context, R.string.net_work_is_error); } } @Override protected void onResume() { super.onResume(); if(isfinish){ finish(); } } private void init() { isfinish = false; context = this; rs = getResources(); addviewlist = new ArrayList<View>(); inflater = LayoutInflater.from(context); gridviewlist = new ArrayList<MyGridview>(); // 顶部网格 toptitlegridview = (MyGridview) findViewById(R.id.fclass_frist_view_topgridview); // 商品网格 addviewll = (LinearLayout) findViewById(R.id.fclass_frist_view_addview_ll); if (listindex == 0) { titlelist = rs.getStringArray(R.array.fclass_frist_woman_gridview); } else if (listindex == 1) { titlelist = rs.getStringArray(R.array.fclass_frist_man_gridview); } else if (listindex == 2) { titlelist = rs.getStringArray(R.array.fclass_frist_neiyi_gridview); } else if (listindex == 3) { titlelist = rs.getStringArray(R.array.fclass_frist_tt_gridview); } else if (listindex == 5) { titlelist = rs.getStringArray(R.array.fclass_frist_tosex_gridview); } // 顶部网格适配器 toptitlegridview .setAdapter(new ArrayAdapter<String>(this, R.layout.fclass_gridview, R.id.fclass_gridview_text, titlelist)); toptitlegridview.setOnItemClickListener(new Titlegridviewonclick()); // TODO /** * item view in adapter 2 import and setData */ } /* * 顶部网格,详细分类监听器 */ class Titlegridviewonclick implements OnItemClickListener { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { // TODO Auto-generated method stub /*女性分类*/ if(listindex==0){ int[] womenlist = {MyApplication.woman_av, MyApplication.woman_fangzhenyangjv, MyApplication.woman_qingqvtiaodan, MyApplication.woman_shensuozhuanhzu, MyApplication.woman_hulibaojian, MyApplication.woman_otherwoman }; Intent intent = new Intent(FclassFristViewActivity.this, FclassMoreActivity.class); // titlelist数组传值给FclassFristViewActivity的标题 intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); intent.putExtra("title", titlelist[arg2].toString()); intent.putExtra("id", womenlist[arg2]); startActivity(intent); //Util.ShowToast(context, "点击了" + titlelist[arg2]); } /*男性分类*/ else if (listindex == 1) { int[] menlist = { MyApplication.man_feijibei, MyApplication.man_daomo, MyApplication.man_fuzhu, }; Intent intent = new Intent(FclassFristViewActivity.this, FclassMoreActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); intent.putExtra("title", titlelist[arg2].toString()); intent.putExtra("id", menlist[arg2]); startActivity(intent); } /*内衣分类*/ else if (listindex == 2) { int[] neiyilist = {MyApplication.neiyi_xingganneiyi, MyApplication.neiyi_siwaneiku, MyApplication.neiyi_qingqvshuiyi, MyApplication.neiyi_zhifuyouhuo, MyApplication.neiyi_liantiwangyi, MyApplication.neiyi_sandiantoushi }; Intent intent = new Intent(FclassFristViewActivity.this, FclassMoreActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); intent.putExtra("title", titlelist[arg2].toString()); intent.putExtra("id", neiyilist[arg2]); startActivity(intent); } /*安全套分类*/ else if (listindex == 3) { int[] ttlist = {MyApplication.tt_jingdian, MyApplication.tt_yanshi, MyApplication.tt_nvyong, MyApplication.tt_daxiaohao, MyApplication.tt_huayang, }; Intent intent = new Intent(FclassFristViewActivity.this, FclassMoreActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); intent.putExtra("title", titlelist[arg2].toString()); intent.putExtra("id", ttlist[arg2]); startActivity(intent); } /*双人分类*/ else if (listindex == 5) { int[] tosexlist = {MyApplication.tosex_zhuqing, MyApplication.tosex_houting, MyApplication.tosex_huantao, MyApplication.tosex_runhua, MyApplication.tosex_sm, MyApplication.tosex_other }; Intent intent = new Intent(FclassFristViewActivity.this, FclassMoreActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); intent.putExtra("title", titlelist[arg2].toString()); intent.putExtra("id", tosexlist[arg2]); startActivity(intent); } }//点击事件结束 }//点击类结束 /* * 详细分类gridview监听器 */ class gridviewonclick implements OnItemClickListener { private int index;//判断点击的是那个gridview, public gridviewonclick(int index) { this.index = index; } @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { // TODO Auto-generated method stub //先判断,是那个gridview,然后点击的那个具体商品,获取它的ID switch (index) { case 0: id = fclasslist.getList().get(0).get(arg2).getId(); break; case 1: id = fclasslist.getList().get(1).get(arg2).getId(); break; case 2: id = fclasslist.getList().get(2).get(arg2).getId(); break; case 3: id = fclasslist.getList().get(3).get(arg2).getId(); break; case 4: id = fclasslist.getList().get(4).get(arg2).getId(); break; case 5: id = fclasslist.getList().get(5).get(arg2).getId(); break; case 6: id = fclasslist.getList().get(6).get(arg2).getId(); break; default: break; } Intent intent = new Intent(FclassFristViewActivity.this, ProductDetailsActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); intent.putExtra("finishid", 1); intent.putExtra("id", id); startActivity(intent); } } private class MyTask extends AsyncTask<Object, Object, Object> { // onPreExecute方法用于在执行后台任务前做一些UI操作 @Override protected void onPreExecute() { startProgressDialog(context); } // doInBackground方法内部执行后台任务,不可在此方法内修改UI @Override protected Object doInBackground(Object... params) { try { Send send = new Send(context); // String time = String.valueOf(System.currentTimeMillis()); // fclasslist = send.RequestHome(time); /* 通过位置判断,点击“热门”后,要进入哪个分类。 */ listindex = getIntent().getIntExtra("listindex", 1); switch (listindex) { case 0: fclasslist = send.GetFclassFrist(MyApplication.woman); break; case 1: fclasslist = send.GetFclassFrist(MyApplication.man); break; case 2: fclasslist = send.GetFclassFrist(MyApplication.neiyi); break; case 3: fclasslist = send.GetFclassFrist(MyApplication.tt); break; case 5: fclasslist = send.GetFclassFrist(MyApplication.tosex); break; default: break; } return fclasslist;// new String(baos.toByteArray(), "gb2312"); // TODO getdata } catch (Exception e) { e.printStackTrace(); } return null; } // onProgressUpdate方法用于更新进度信息 @Override protected void onProgressUpdate(Object... progresses) { } // onPostExecute方法用于在执行完后台任务后更新UI,显示结果 @Override protected void onPostExecute(Object result) { stopProgressDialog(); fclasslist = (ListGoodsBean) result; if (fclasslist != null && fclasslist.getCode() == 200) { for (int i = 0; i < titlelist.length; i++) { /* 网格内容要循环添加 */ ListBean = fclasslist.getList().get(i); fclassAdapter = new FclassFristViewAdapter(context, ListBean); // 载人布局文件,添加文字+网格,gridview做适配器,点击事件。 View v = inflater.inflate( R.layout.fclass_frist_view_added_view, null); TextView tv = (TextView) v .findViewById(R.id.fclass_frist_view_addview_title_tv); tv.setText(titlelist[i]); g = (MyGridview) v .findViewById(R.id.fclass_frist_view_addview_gridview); g.setAdapter(fclassAdapter); g.setOnItemClickListener(new gridviewonclick(i)); gridviewlist.add(g); addviewlist.add(v);// addviewll.addView(v); } } else if(fclasslist != null && fclasslist.getCode() == 500){ stopProgressDialog(); Util.ShowToast(context, R.string.net_work_is_error); }else{ if (fclasslist != null) Util.ShowToast(context, fclasslist.getMsg()); } } // onCancelled方法用于在取消执行中的任务时更改UI protected void onCancelled() { stopProgressDialog(); } } @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { // TODO Auto-generated method stub } /** * 启动Loding... * * @param context */ public void startProgressDialog(Context context) { if (progressDialog == null) { progressDialog = CustomProgressDialog.createDialog(context); } progressDialog.show(); } /** * 关闭Loding... */ public void stopProgressDialog() { if (progressDialog != null && progressDialog.isShowing()) { progressDialog.dismiss(); progressDialog = null; } } }