package org.softeg.slartus.forpdaplus.devdb.adapters; import android.content.Context; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; import com.nostra13.universalimageloader.core.ImageLoader; import org.softeg.slartus.forpdaplus.R; import org.softeg.slartus.forpdaplus.devdb.adapters.base.BaseRecyclerViewHolder; import org.softeg.slartus.forpdaplus.devdb.helpers.DevDbUtils; import org.softeg.slartus.forpdaplus.devdb.model.ReviewsModel; import java.util.List; import butterknife.BindView; public class ReviewsAdapter extends RecyclerView.Adapter<ReviewsAdapter.ViewHolder> { private static final int LAYOUT = R.layout.dev_db_reviews_item; private LayoutInflater mLayoutInflater; private Context mContext; private List<ReviewsModel> mModels; private ImageLoader imageLoader; public ReviewsAdapter(Context context, List<ReviewsModel> models, ImageLoader imageLoader) { super(); this.mContext = context; this.mModels = models; this.imageLoader = imageLoader; mLayoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); } @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = mLayoutInflater.inflate(LAYOUT, parent, false); return new ViewHolder(view); } @Override public void onBindViewHolder(ViewHolder holder, int position) { final ReviewsModel obj = mModels.get(position); holder.textBody.setText(obj.getReviewTitle()); holder.date.setText(obj.getReviewDate()); holder.textBody.setOnClickListener(v -> DevDbUtils.showUrl(mContext, obj.getReviewLink())); //Picasso.with(mContext).load(obj.getReviewImgLink()).into(holder.image); imageLoader.displayImage(obj.getReviewImgLink(), holder.image); } @Override public int getItemCount() { return mModels.size(); } public static class ViewHolder extends BaseRecyclerViewHolder { @BindView(R.id.devDbReviewsText) TextView textBody; @BindView(R.id.devDbReviewsDate) TextView date; @BindView(R.id.devDbReviewsIV) ImageView image; public ViewHolder(View itemView) { super(itemView); } } }