package com.deardhruv.swipevolley.adapters;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.content.Context;
import android.net.Uri;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
import com.android.volley.examples.toolbox.MyVolley;
import com.android.volley.toolbox.NetworkImageView;
import com.deardhruv.swipevolley.R;
import com.deardhruv.swipevolley.model.ImageItem;
public class ItemDetailAdapter extends BaseAdapter {
private static final String ALLOWED_URI_CHARS = "@#&=*+-_.,:!?()/~'%";
private Activity activity;
private static LayoutInflater inflater = null;
private ArrayList<ImageItem> mList;
public ItemDetailAdapter(Activity a, List<ImageItem> list) {
activity = a;
mList = new ArrayList<ImageItem>(list);
inflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public int getCount() {
return mList.size();
}
@Override
public Object getItem(int position) {
return mList.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
convertView = inflater.inflate(R.layout.row_listview_item, null);
holder = new ViewHolder();
holder.text = (TextView) convertView.findViewById(R.id.text);
holder.image = (NetworkImageView) convertView.findViewById(R.id.image);
convertView.setTag(holder);
holder.image.setDefaultImageResId(R.drawable.ic_launcher);
holder.image.setErrorImageResId(R.drawable.ic_image_err);
} else {
holder = (ViewHolder) convertView.getTag();
}
// Replace all spaces from URL.
String str = mList.get(position).getImgUrl().replaceAll("[ ]", "%20");
str = Uri.encode(str, ALLOWED_URI_CHARS);
holder.image.setImageUrl(str, MyVolley.getImageLoader());
holder.text.setText("" + mList.get(position).getName());
// convertView.setTag(holder);
return convertView;
}
class ViewHolder {
TextView text;
NetworkImageView image;
}
}