package net.yasite.adapter;
import java.util.ArrayList;
import java.util.List;
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;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
public class NewsListAdapter extends BaseAdapter {
List<NewsEntity> list;
Context context;
private ImageLoader mImageLoader;
private DisplayImageOptions options;
public List<NewsEntity> getList() {
return list;
}
public void setList(List<NewsEntity> list) {
this.list = list;
}
public NewsListAdapter(Context context,List<NewsEntity> list){
this.context = context;
this.list = list;
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();
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return list.size();
}
@Override
public NewsEntity getItem(int position) {
return list.get(position);
}
@Override
public long getItemId(int position) {
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.list_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,
NewsEntity item) {
mViewHolder.nid.setText(item.getId());
mViewHolder.title.setText(item.getTitle());
mViewHolder.desc.setText(item.getDesc());
if(item.getPic() != null && !item.getPic().equals("")){
mImageLoader.displayImage("http://172.17.68.224:80/api/pic/" + item.getPic(),
mViewHolder.pic, options);
}else{
mImageLoader.displayImage("drawable://" + R.drawable.ic_launcher, mViewHolder.pic);
}
}
private void setupChildViews(View convertView, ViewHolder mViewHolder){
mViewHolder.nid = (TextView)convertView.findViewById(R.id.nid);
mViewHolder.title = (TextView)convertView.findViewById(R.id.title);
mViewHolder.desc = (TextView)convertView.findViewById(R.id.desc);
mViewHolder.pic = (ImageView)convertView.findViewById(R.id.pic);
}
static class ViewHolder{
private TextView nid;
private TextView title;
private TextView desc;
private ImageView pic;
}
}