package com.kanshu.kanshu; /** * Created by alouanemed on 22-01-2015. */ import android.app.Activity; import android.content.Context; import android.graphics.Bitmap; import android.graphics.Typeface; import android.graphics.drawable.Drawable; import android.text.TextUtils; 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.kanshu.kanshu.controller.TopicsController; import com.kanshu.kanshu.model.Topic; import com.squareup.picasso.Picasso; import java.util.ArrayList; public class TopicsAdapter extends BaseAdapter { private ArrayList<Topic> mTopicsList; private Activity activity; private final Typeface tf; TopicsController mTopicsController; public TopicsAdapter(Activity context, ArrayList<Topic> mTopicsList, Typeface tfBold, TopicsController mTopicsController) { super(); this.mTopicsList = mTopicsList; activity = context; this.tf = tfBold; this.mTopicsController = mTopicsController; } public static class ViewHolder { public TextView tvTopicTitle; public ImageView IvTopicImg; } @Override public View getView(int position, View convertView, ViewGroup parent) { View v = convertView; ViewHolder holder; if (v == null) { LayoutInflater vi = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE); v = vi.inflate(R.layout.topic_card, null); holder = new ViewHolder(); holder.tvTopicTitle = (TextView) v.findViewById(R.id.topicTitle); holder.IvTopicImg = (ImageView) v.findViewById(R.id.topic_image); v.setTag(holder); } else holder = (ViewHolder) v.getTag(); if (!TextUtils.isEmpty(mTopicsList.get(position).getTitle())) { holder.tvTopicTitle.setText(mTopicsList.get(position).getTitle()); holder.tvTopicTitle.setTypeface(tf); } else { holder.tvTopicTitle.setVisibility(View.GONE); } if (!TextUtils.isEmpty(mTopicsList.get(position).getImgURL())) { //we will use drawable .. for now String mImg_url = mTopicsList.get(position).getImgURL(); if (mImg_url.endsWith("_updated")){ String helper_str =mImg_url.substring(0,mImg_url.length()-8); int id = activity.getResources().getIdentifier((helper_str ), "drawable", activity.getPackageName()); Drawable Dra = activity.getResources().getDrawable(id); holder.IvTopicImg.setImageDrawable(Dra); //Picasso.with(activity).load(id).into(holder.IvTopicImg); }else{ Bitmap mTopic_bmp = mTopicsController.toGrayscale(mTopicsList.get(position).getImgURL()); holder.IvTopicImg.setImageBitmap(mTopic_bmp); } } else { Picasso.with(activity).load(R.drawable.kanshu_gray).into(holder.IvTopicImg); } return v; } @Override public int getCount() { return mTopicsList == null ? 0 : mTopicsList.size(); } @Override public Object getItem(int position) { return mTopicsList.get(position); } @Override public long getItemId(int position) { return position; } }