package net.yasite.adapter;
import java.util.ArrayList;
import java.util.List;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import net.yasite.adapter.NewsListAdapter.ViewHolder;
import net.yasite.entity.GoodEntity;
import net.yasite.entity.NewsEntity;
import net.yasite.test.BaseApplication;
import net.yasite.test.R;
import android.content.Context;
import android.graphics.Bitmap;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
public class GoodListAdapter extends BaseAdapter {
Context context;
List<GoodEntity> list;
private ImageLoader mImageLoader;
private DisplayImageOptions options;
public GoodListAdapter(Context context){
this.context = context;
list = new ArrayList<GoodEntity>();
mImageLoader = BaseApplication.initImageLoader(context);
options = new DisplayImageOptions.Builder()
.bitmapConfig(Bitmap.Config.RGB_565)
.showStubImage(R.drawable.ic_launcher)
.showImageForEmptyUri(R.drawable.ic_launcher)
.showImageOnFail(R.drawable.ic_launcher)
.cacheInMemory(true)
.cacheOnDisc(true)
.build();
}
public List<GoodEntity> getList() {
return list;
}
public void setList(List<GoodEntity> list) {
this.list = list;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return list.size();
}
@Override
public GoodEntity getItem(int position) {
// TODO Auto-generated method stub
return list.get(position);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup arg2) {
ViewHolder mViewHolder;
if(null == convertView){
mViewHolder = new ViewHolder();
convertView = LayoutInflater.from(context).inflate(R.layout.goods_item, null);
this.setupChildViews(convertView, mViewHolder);
convertView.setTag(mViewHolder);
} else{
mViewHolder = (ViewHolder) convertView.getTag();
}
setChildViewData(mViewHolder, position, getItem(position));
return convertView;
}
private void setChildViewData(ViewHolder mViewHolder, int position,
GoodEntity item) {
if(item.getGoods_name() != null){
mViewHolder.name.setText(item.getGoods_name());
}else{
mViewHolder.name.setText("");
}
if(item.getMarket_price() != null){
mViewHolder.market_price.setText("市场价:" + item.getMarket_price());
}else{
mViewHolder.name.setText("");
}
if(item.getShop_price() != null){
mViewHolder.promote_price.setText("本店价:" + item.getShop_price());
}else{
mViewHolder.name.setText("");
}
if(item.getGoods_thumb() != null && !item.getGoods_thumb().equals("")){
mImageLoader.displayImage(item.getGoods_thumb(),
mViewHolder.thumb, options);
}else{
mImageLoader.displayImage("drawable://" + R.drawable.ic_launcher, mViewHolder.thumb);
}
}
private void setupChildViews(View convertView, ViewHolder mViewHolder){
mViewHolder.name = (TextView)convertView.findViewById(R.id.name);
mViewHolder.market_price = (TextView)convertView.findViewById(R.id.market_price);
mViewHolder.promote_price = (TextView)convertView.findViewById(R.id.promote_price);
mViewHolder.thumb = (ImageView)convertView.findViewById(R.id.thumb);
}
static class ViewHolder{
private TextView name;
private TextView market_price;
private TextView promote_price;
private ImageView thumb;
}
}