package coolbuy360.adapter; import java.util.List; import java.util.Map; import coolbuy360.control.ADGallery; import coolbuy360.control.MyShowImgDialog; import coolbuy360.searchhealth.DrugStoreDetaill; import coolbuy360.searchhealth.R; import coolbuy360.service.ImageManager; import coolbuy360.service.Util; import android.R.integer; import android.app.Dialog; import android.content.Context; import android.content.Intent; import android.net.Uri; import android.os.Handler; import android.os.Message; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.View.OnClickListener; import android.widget.BaseAdapter; import android.widget.Gallery; import android.widget.HeaderViewListAdapter; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; public class PromotionGalleryAdapter extends BaseAdapter { private List<Map<String, String>> sourceList; private Context ctx = null; private LayoutInflater inflater = null; private String imagePath; /*private List<String> imageUrls; // 图片地址list private Context context; private PromotionGalleryAdapter self; Uri uri; Intent intent; ImageView imageView; public static Integer[] imgs = { R.drawable.one, R.drawable.two, R.drawable.three, R.drawable.four }; private String[] myuri = { "http://www.36939.net/", "http://www.36939.net/", "http://www.36939.net/", "http://www.36939.net/" };*/ public PromotionGalleryAdapter(Context context, List<Map<String, String>> sourcelist) { super(); this.sourceList = sourcelist; this.ctx = context; this.inflater = (LayoutInflater) ctx .getSystemService(Context.LAYOUT_INFLATER_SERVICE); this.imagePath = Util.getPromotionImgPath(); } public int getRealCount() { return sourceList.size(); } @Override public int getCount() { return Integer.MAX_VALUE; } @Override public Object getItem(int position) { return sourceList.get(position % sourceList.size()); } @Override public long getItemId(int position) { return Long.parseLong(sourceList.get(position % sourceList.size()).get("promotionid")); } @SuppressWarnings("unused") private Handler mHandler = new Handler() { public void handleMessage(Message msg) { try { switch (msg.what) { case 0: { PromotionGalleryAdapter.this.notifyDataSetChanged(); } break; } super.handleMessage(msg); } catch (Exception e) { } } }; @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder viewHolder = null; final int tposition = position; if (convertView == null) { viewHolder = new ViewHolder(); convertView = inflater.inflate(R.layout.promotion_gallery_item, null); viewHolder.promotion_gallery_item_image = (ImageView) convertView .findViewById(R.id.promotion_gallery_item_image); viewHolder.promotion_gallery_item_title = (TextView) convertView .findViewById(R.id.promotion_gallery_item_title); /*Gallery.LayoutParams params = new Gallery.LayoutParams( Gallery.LayoutParams.WRAP_CONTENT, Gallery.LayoutParams.WRAP_CONTENT); convertView.setLayoutParams(params);*/ convertView.setTag(viewHolder); } else { viewHolder = (ViewHolder) convertView.getTag(); } Map<String, String> itemmap = sourceList.get(position % sourceList.size()); Log.i("promotion", "getview" + position); String imgurl = itemmap.get("image"); String title = itemmap.get("title"); viewHolder.promotion_gallery_item_title.setText(title); if (imgurl != null && !imgurl.equals("")) { if(imgurl.toLowerCase().startsWith("http://")) { ImageManager.from(ctx).displayImage(viewHolder.promotion_gallery_item_image, imgurl, R.drawable.promotion_def_pic, 150, 150); } else { // 设置图片的路径 ImageManager.from(ctx).displayImage(viewHolder.promotion_gallery_item_image, imagePath + imgurl, R.drawable.promotion_def_pic, 150, 150); } // 点击图片 /*viewHolder.promotion_gallery_item_image.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub String url= url_path_b + drugsearchlist.get(tposition).get("drugimg");; Bundle bundle = new Bundle(); bundle.putString("imgpath", url); Log.i("chenlinwei", url + "::clss"); Intent intent = new Intent().setClass(_context, MyShowImgDialog.class); intent.putExtras(bundle); ((Activity) _context).startActivity(intent); Dialog dialog = new Dialog(ctx); dialog.setTitle("点击"+tposition); dialog.setCanceledOnTouchOutside(true); dialog.show(); } });*/ } else { viewHolder.promotion_gallery_item_image .setImageResource(R.drawable.promotion_def_pic); } //imageView.setImageResource(imgs[position % imgs.length]); // 设置缩放比例:保持原样 ((DrugStoreDetaill)ctx).changePointView(position % sourceList.size()); /* * imageView.setOnClickListener(new OnClickListener() { * * @Override public void onClick(View v) { // TODO Auto-generated method * stub * * //((String) imageView).setSpan(new URLSpan("http://www.36939.net/"), * 13, 15,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); * * * } }); */ if(parent.getClass().equals(ADGallery.class)) { int width = parent.getWidth(); Gallery.LayoutParams params = new Gallery.LayoutParams( width, (int)(width/2.6)); convertView.setLayoutParams(params); /*viewHolder.promotion_gallery_item_title.setLayoutParams(new LinearLayout.la))*/ parent.setLayoutParams(new LinearLayout.LayoutParams(width, (int)(width/2.6), 1)); } return convertView; } private class ViewHolder { ImageView promotion_gallery_item_image; TextView promotion_gallery_item_title; } }