package com.letv.watchball.adapter; import java.util.HashMap; import java.util.Iterator; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.TextView; import com.letv.cache.LetvCacheMannager; import com.letv.cache.view.LetvImageView; import com.letv.watchball.R; import com.letv.watchball.bean.OriginalVideo; public class OriginalVideoAdapter extends BaseAdapter { private HashMap<LetvImageView, Integer> images; private Context context; private OriginalVideo originalVideos = new OriginalVideo(); public OriginalVideoAdapter(Context context) { images = new HashMap<LetvImageView, Integer>(); this.context = context; } public OriginalVideo getOriginalVideos() { return originalVideos; } public void setOriginalVideos(OriginalVideo originalVideos) { this.originalVideos = originalVideos; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHandler mViewHandler = null; if (convertView == null) { mViewHandler = new ViewHandler(); convertView = LayoutInflater.from(context).inflate(R.layout.news_list_shows_item, null); mViewHandler.news_icon = (LetvImageView) convertView.findViewById(R.id.news_items_icon); mViewHandler.news_title = (TextView) convertView.findViewById(R.id.news_items_title); mViewHandler.news_date = (TextView) convertView.findViewById(R.id.news_items_date); convertView.setTag(mViewHandler); } else { mViewHandler = (ViewHandler) convertView.getTag(); } mViewHandler.news_title.setText(originalVideos.body.videos[position].name); mViewHandler.news_date.setText(originalVideos.body.videos[position].release_date); mViewHandler.news_icon.setImageResource(R.drawable.news_ic_default); LetvCacheMannager.getInstance().loadImage(originalVideos.body.videos[position].img_url, mViewHandler.news_icon); return convertView; } public synchronized void notifyImageView(int start, int end) {/* synchronized (images) { if (images == null || images.size() == 0) { return; } Iterator<LetvImageView> i = images.keySet().iterator(); while (i.hasNext()) { LetvImageView imageView = i.next(); int pos = images.get(imageView); String icon = originalVideos.body.videos[pos].img_url; if (pos >= start && pos <= end) { LetvCacheMannager.getInstance().loadImage(icon, imageView); } } images.clear(); } */} @Override public void notifyDataSetChanged() { images.clear(); super.notifyDataSetChanged(); } @Override public int getCount() { return originalVideos.body.videos.length; } @Override public Object getItem(int position) { return originalVideos.body.videos[position]; } @Override public long getItemId(int position) { return position; } private class ViewHandler { LetvImageView news_icon; TextView news_title; TextView news_date; } }