package com.example.gif; import android.content.Context; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.TextView; import com.loopj.android.http.AsyncHttpClient; import com.loopj.android.http.AsyncHttpResponseHandler; import org.apache.http.Header; import java.io.IOException; import java.util.List; import pl.droidsonroids.gif.GifDrawable; import pl.droidsonroids.gif.GifImageView; public class CommonAdapter extends BaseAdapter { private Context context; private List<String> imageUrls; private AsyncHttpClient asyncHttpClient; public CommonAdapter(Context context, List<String> imageUrls) { this.context = context; this.imageUrls = imageUrls; asyncHttpClient = new AsyncHttpClient(); } @Override public int getCount() { return imageUrls.size(); } @Override public Object getItem(int position) { return imageUrls.get(position); } @Override public long getItemId(int position) { return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { // final GifImageView imageView; final ViewHolder viewHolder; if (convertView == null) { viewHolder= new ViewHolder(); convertView = View.inflate(context,R.layout.item,null); viewHolder.gifImageView = (GifImageView) convertView.findViewById(R.id.gifimageview); viewHolder.tv_title = (TextView) convertView.findViewById(R.id.tv_title); // imageView = new GifImageView(context); // int size = LinearLayout.LayoutParams.MATCH_PARENT; // imageView.setPadding(10, 10, 10, 10); // AbsListView.LayoutParams layoutParams = new AbsListView.LayoutParams(size, 200); // imageView.setLayoutParams(layoutParams); // imageView.setScaleType(ImageView.ScaleType.FIT_XY); // imageView.setBackgroundResource(R.drawable.vedio_default); convertView.setTag(viewHolder); } else { // imageView = (GifImageView) convertView; viewHolder = (ViewHolder) convertView.getTag(); } viewHolder.gifImageView .setBackgroundResource(R.drawable.vedio_default); viewHolder.tv_title.setText("第--"+position + "--张图片"); asyncHttpClient .get(imageUrls.get(position), new AsyncHttpResponseHandler() { @Override public void onSuccess(int i, Header[] headers, byte[] bytes) { try { GifDrawable drawable = new GifDrawable(bytes); viewHolder.gifImageView .setBackground(drawable); } catch (IOException e) { e.printStackTrace(); } } @Override public void onFailure(int i, Header[] headers, byte[] bytes, Throwable throwable) { System.out.println(throwable.getMessage()); } }); return convertView; } static class ViewHolder{ GifImageView gifImageView; TextView tv_title; } }