package com.snail.travellingTrail.trailMap.controller;
import java.util.List;
import net.tsz.afinal.FinalBitmap;
import net.tsz.afinal.bitmap.core.BitmapDisplayConfig;
import net.tsz.afinal.bitmap.display.Displayer;
import com.facebook.drawee.view.SimpleDraweeView;
import com.snail.travellingTrail.R;
import com.snail.travellingTrail.common.utils.BitmapUtil;
import com.snail.travellingTrail.common.utils.PhoneInfo;
import com.snail.travellingTrail.trailMap.model.FootprintContent;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.media.ThumbnailUtils;
import android.net.Uri;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
public class SingleFootprintAdapter extends BaseAdapter
{
Context context;
LayoutInflater layoutInflater;
List<FootprintContent> footprintContents;
FootprintContent footprintContent;
// View itemView;
FinalBitmap finalBitmap;
BitmapDisplayConfig bitmapDisplayConfig;
public SingleFootprintAdapter(Context context, List<FootprintContent> footprintContents)
{
super();
this.context = context;
this.footprintContents = footprintContents;
layoutInflater = LayoutInflater.from(context);
finalBitmap = FinalBitmap.create(context);
PhoneInfo.loadScreenInfo(context);
bitmapDisplayConfig = new BitmapDisplayConfig();
// bitmapDisplayConfig.setBitmapWidth(PhoneInfo.screenWidthPx);
bitmapDisplayConfig.setLoadingBitmap(
BitmapFactory.decodeResource(context.getResources(), R.drawable.bg_default_photo) );
}
public List<FootprintContent> getFootprintContents()
{
return footprintContents;
}
public void setFootprintContents(List<FootprintContent> footprintContents)
{
this.footprintContents = footprintContents;
}
@Override
public int getCount()
{
return footprintContents == null ? 0 : footprintContents.size();
}
@Override
public Object getItem(int position)
{
return footprintContents.get(position);
}
@Override
public long getItemId(int position)
{
return footprintContents.get(position).getFtprnt_Cntnt_ID();
}
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
footprintContent = footprintContents.get(position);
ViewHolder viewHolder = null;
if (convertView == null)
{
convertView = layoutInflater.inflate(R.layout.listitem_single_footprint, null);
viewHolder = new ViewHolder();
viewHolder.imageView = (SimpleDraweeView) convertView.findViewById(R.id.listitem_single_footprint_iv_photo);
viewHolder.textView = (TextView) convertView.findViewById(R.id.listitem_single_footprint_tv_words);
convertView.setTag(viewHolder);
}
else {
viewHolder = (ViewHolder) convertView.getTag();
}
//只有 有照片的时候才显示imageView控件
if( footprintContent.getFtprnt_Cntnt_Photo() != null &&
!(footprintContent.getFtprnt_Cntnt_Photo()).equals("") )
{
viewHolder.imageView.setVisibility(View.VISIBLE);
// finalBitmap.configDisplayer(new Displayer()
// {
//
// @Override
// public void loadFailDisplay(View imageView, Bitmap bitmap)
// {
//
// }
//
// @Override
// public void loadCompletedisplay(View view, Bitmap bitmap,
// BitmapDisplayConfig arg2)
// {
// System.out.println("Image:width x height --- " +
// bitmap.getWidth() + "x" + bitmap.getHeight());
// bitmap = BitmapUtil.compressAccordingToWidth(bitmap, PhoneInfo.screenWidthPx);
// LayoutParams layoutParams = view.getLayoutParams();
// layoutParams.width = bitmap.getWidth();
// layoutParams.height = bitmap.getHeight();
// ((ImageView)view).setLayoutParams(layoutParams);
//
// ((ImageView)view).setImageBitmap(bitmap);
// }
// });
// finalBitmap.display(viewHolder.imageView, footprintContent.getFtprnt_Cntnt_Photo(), bitmapDisplayConfig);
viewHolder.imageView.setImageURI(Uri.parse(footprintContent.getFtprnt_Cntnt_Photo()));
}
else {
viewHolder.imageView.setVisibility(View.GONE);
}
//只有 有文字的时候才显示textView控件
if( footprintContent.getFtprnt_Cntnt_Words() != null &&
!(footprintContent.getFtprnt_Cntnt_Words()).equals("") )
{
viewHolder.textView.setVisibility(View.VISIBLE);
viewHolder.textView.setText(footprintContent.getFtprnt_Cntnt_Words());
}
else {
viewHolder.textView.setVisibility(View.GONE);
}
return convertView;
}
static class ViewHolder
{
public SimpleDraweeView imageView;
public TextView textView;
}
}