package typical_if.android.adapter; import android.graphics.drawable.Drawable; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.RelativeLayout; import android.widget.TextView; import com.nostra13.universalimageloader.core.ImageLoader; import java.util.ArrayList; import java.util.List; import typical_if.android.R; import typical_if.android.TIFApp; import typical_if.android.model.Album; public class AlbumCoverAdapter extends BaseAdapter { private List<Album> albumList; LayoutInflater layoutInflater; public static int _albumSize; int newWidth = TIFApp.getDisplayWidth(); public ArrayList<View> views = new ArrayList<View>(); public AlbumCoverAdapter(List<Album> list, LayoutInflater inflater) { albumList = list; layoutInflater = inflater; for (Album album : albumList) { views.add(null); } } @Override public int getCount() { return albumList.size(); } @Override public Object getItem(int position) { return albumList.get(position); } @Override public long getItemId(int position) { return albumList.get(position).id; } @Override public View getView(int position, View convertView, ViewGroup parent) { final Album album = albumList.get(position); _albumSize = album.size; ViewHolder viewHolder; if (convertView == null) { convertView = layoutInflater.inflate(R.layout.fragment_albums_list_item, null); viewHolder = new ViewHolder(convertView); RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(newWidth, (int) (newWidth / 1.5)); viewHolder.album_cover.setLayoutParams(params); convertView.setTag(viewHolder); } else { viewHolder = (ViewHolder) convertView.getTag(); } viewHolder.album_name.setText(album.title); viewHolder.photos_count.setText(album.size + ""); String url = album.sizes.optJSONObject(2).optString("src"); // Glide.with(TIFApp.getAppContext()) // .load(url) // .placeholder(R.drawable.event_stub) // .crossFade() // .into(viewHolder.album_cover); ImageLoader.getInstance().displayImage(url, viewHolder.album_cover, TIFApp.additionalOptions); // ImageLoader.getInstance().loadImage(url, new SimpleImageLoadingListener() { // @Override // public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) { // } // }); views.set(position, convertView); return convertView; } public Drawable getImageBitmap(int position) { ViewHolder viewHolder = (ViewHolder) views.get(position).getTag(); return viewHolder.album_cover.getDrawable(); } public static class ViewHolder { public final ImageView album_cover; public final TextView album_name; public final TextView photos_count; public ViewHolder(View convertView) { this.album_cover = (ImageView) convertView.findViewById(R.id.img_album_cover); this.album_name = (TextView) convertView.findViewById(R.id.txt_album_name); this.photos_count = (TextView) convertView.findViewById(R.id.txt_photos_count); } } }