package com.yizhao.activity; import java.util.ArrayList; import java.util.HashMap; import java.util.Map; import com.yizhao.action.ProductAction; import com.yizhao.adapter.IndexBottomAdapter; import com.yizhao.adapter.IndexImageAdapter; import com.yizhao.bean.HotProductBean; import com.yizhao.bean.ProductBean; import com.yizhao.bean.SaleBean; import com.yizhao.core.AsyncWorkHandler; import com.yizhao.core.CacheManager; import com.yizhao.core.Const; import com.yizhao.ui.DetialGallery; import com.yizhao.util.BitmapDownloaderTask; import com.yizhao.util.ImageUtil; import android.app.Activity; import android.app.Dialog; import android.app.ProgressDialog; import android.content.Context; import android.content.Intent; import android.graphics.Bitmap; import android.os.Bundle; import android.os.Message; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.AutoCompleteTextView; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.Toast; import android.widget.AdapterView.OnItemClickListener; import android.widget.AdapterView.OnItemSelectedListener; public class IndexGalleryActivity extends Activity implements OnItemSelectedListener{ private DetialGallery gallery_center; private DetialGallery gallery_bottom; private AutoCompleteTextView search_text; private ImageView search_button; private IndexImageAdapter adapter_gallery_center; private IndexBottomAdapter adapter_gallery_bottom; private Context _context; private Intent _intent; private ArrayList<ProductBean> popFileList; private ArrayList<SaleBean> promFileList; private LinearLayout gallery_center_point; private OnItemSelectedListener osSelectedListener; private LayoutInflater inflater;//View工厂类 private int point_count; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { setContentView(R.layout.main); super.onCreate(savedInstanceState); osSelectedListener = this; _context = this; _intent = this.getIntent(); inflater = LayoutInflater.from(_context); search_text=(AutoCompleteTextView)findViewById(R.id.index_search_ev); search_button=(ImageView)findViewById(R.id.index_search_bt); gallery_center_point = (LinearLayout)findViewById(R.id.gallery_center_point); //创建适配器 ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line,CacheManager.getInstance().getAutoCompleteText()); search_text.setAdapter(adapter); //设置输入多少字符后提示,默认值为2 search_text.setThreshold(2); gallery_center = (DetialGallery)findViewById(R.id.gallery_center); gallery_bottom = (DetialGallery)findViewById(R.id.gallery_bottom); //初始化信息 AsyncWorkHandler asyncQueryHandler = new AsyncWorkHandler(){ @Override public Object excute(Map<String, String> map) { HotProductBean bean = CacheManager.getInstance().getHostProductBean(); if(bean==null){ bean = ProductAction.getHotProduct(); } return bean; } @Override public void handleMessage(Message msg) { if(msg.obj!=null){ HotProductBean bean = (HotProductBean)msg.obj; if("true".equals(bean.getResult())){ popFileList = bean.getPopFileList(); promFileList = bean.getPromFileList(); int popSize = popFileList.size(); adapter_gallery_center = new IndexImageAdapter(_context,popFileList); adapter_gallery_bottom = new IndexBottomAdapter(_context,promFileList); //初始化5个分页的点 point_count = popSize; for(int i = 0 ; i < point_count ; i++){ View template = inflater.inflate(R.layout.coin, null); gallery_center_point.addView(template); } if(gallery_center_point.getChildCount() > 0){ LinearLayout coin_layout = (LinearLayout)gallery_center_point.getChildAt(0); ImageView child_first = (ImageView)coin_layout.getChildAt(0); child_first.setImageResource(R.drawable.index_body_coin2); } gallery_center.setAdapter(adapter_gallery_center);//设置图片适配器 gallery_bottom.setAdapter(adapter_gallery_bottom); gallery_center.setOnItemSelectedListener(osSelectedListener); gallery_bottom.setOnItemSelectedListener(osSelectedListener); removeDialog(Const.PROGRESSBAR_WAIT); _intent.putExtra("status", true); //开启多个线程去拉取图片------begin for(int i = 0; i < popSize; i++){ final String id = popFileList.get(i).getId(); final String image_url = ImageUtil.getPicUrl(popFileList.get(i).getCoverImage(),2); BitmapDownloaderTask task = new BitmapDownloaderTask(image_url){ @Override protected Bitmap doInBackground(String... params) { Bitmap bm = CacheManager.getInstance().getBitmap(id); if(bm==null){ bm = ImageUtil.getBitmap(image_url); } return bm; } @Override protected void onPostExecute(Bitmap bm) { if(isCancelled()){ bm = null; } if(bm!=null){ if(!CacheManager.getInstance().getBitmap_Map().containsKey(id)){ CacheManager.getInstance().putBitmap(id, bm); } adapter_gallery_center.notifyDataSetChanged(); } } }; task.execute(""); } //开启多个线程去拉取图片------end }else{ Toast.makeText(_context, "信息不存在,请选择其它商品查看!", Toast.LENGTH_SHORT).show(); } }else{ Toast.makeText(_context, "网络不稳定,请检查您的网络状态!", Toast.LENGTH_SHORT).show(); } removeDialog(Const.PROGRESSBAR_WAIT); } }; showDialog(Const.PROGRESSBAR_WAIT); asyncQueryHandler.doWork(new HashMap<String,String>()); //设置监听器 gallery_center.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View view, int position,long arg3) { String product_id = ""; if(popFileList!=null){ product_id = popFileList.get(position).getId(); } Intent intent = new Intent(); intent.putExtra("product_id", product_id); intent.setClass(_context, DetailActivityGroup.class); startActivity(intent); } }); gallery_bottom.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int position,long arg3) { String product_id = ""; if(promFileList!=null){ product_id = promFileList.get(position).getId(); } Intent intent = new Intent(); intent.putExtra("product_id", product_id); intent.setClass(_context, DetailActivityGroup.class); startActivity(intent); } }); search_button.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { String keyworld = search_text.getText().toString(); if(keyworld!=null && !"".equals(keyworld)){ Intent it = new Intent(_context, SearchActivity.class); it.putExtra("sname",keyworld); startActivity(it); } } }); } @Override protected Dialog onCreateDialog(int id) { switch (id) { case Const.PROGRESSBAR_WAIT: ProgressDialog wait_pd = new ProgressDialog(this); wait_pd.setMessage(Const.LOADING); return wait_pd; } return null; } @Override public void onItemSelected(AdapterView<?> parent, View arg1, int position,long arg3) { if(parent == gallery_center && point_count >=position) { for(int i = 0 ; i < point_count ; i++){ LinearLayout coin_layout = (LinearLayout)gallery_center_point.getChildAt(i); ImageView child_first = (ImageView)coin_layout.getChildAt(0); child_first.setImageResource(R.drawable.index_body_coin1); } LinearLayout coin_layout = (LinearLayout)gallery_center_point.getChildAt(position); ImageView child_first = (ImageView)coin_layout.getChildAt(0); child_first.setImageResource(R.drawable.index_body_coin2); } } @Override public void onNothingSelected(AdapterView<?> arg0) { // TODO Auto-generated method stub } }