package com.hitanshudhawan.popcorn.adapters; import android.content.Context; import android.content.Intent; import android.support.v7.widget.CardView; 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.bumptech.glide.Glide; import com.bumptech.glide.load.engine.DiskCacheStrategy; import com.hitanshudhawan.popcorn.R; import com.hitanshudhawan.popcorn.activities.TVShowDetailActivity; import com.hitanshudhawan.popcorn.network.tvshows.TVCastOfPerson; import com.hitanshudhawan.popcorn.utils.Constants; import java.util.List; /** * Created by hitanshu on 13/8/17. */ public class TVCastsOfPersonAdapter extends RecyclerView.Adapter<TVCastsOfPersonAdapter.TVShowViewHolder> { public Context mContext; private List<TVCastOfPerson> mTVCasts; public TVCastsOfPersonAdapter(Context context, List<TVCastOfPerson> tvShows) { mContext = context; mTVCasts = tvShows; } @Override public TVShowViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { return new TVShowViewHolder(LayoutInflater.from(mContext).inflate(R.layout.item_show_of_cast, parent, false)); } @Override public void onBindViewHolder(TVShowViewHolder holder, int position) { Glide.with(mContext.getApplicationContext()).load(Constants.IMAGE_LOADING_BASE_URL_342 + mTVCasts.get(position).getPosterPath()) .asBitmap() .centerCrop() .diskCacheStrategy(DiskCacheStrategy.ALL) .into(holder.tvShowPosterImageView); if (mTVCasts.get(position).getName() != null) holder.tvShowTitleTextView.setText(mTVCasts.get(position).getName()); else holder.tvShowTitleTextView.setText(""); if (mTVCasts.get(position).getCharacter() != null && !mTVCasts.get(position).getCharacter().trim().isEmpty()) holder.castCharacterTextView.setText("as " + mTVCasts.get(position).getCharacter()); else holder.castCharacterTextView.setText(""); } @Override public int getItemCount() { return mTVCasts.size(); } public class TVShowViewHolder extends RecyclerView.ViewHolder { public CardView tvShowCard; public ImageView tvShowPosterImageView; public TextView tvShowTitleTextView; public TextView castCharacterTextView; public TVShowViewHolder(View itemView) { super(itemView); tvShowCard = (CardView) itemView.findViewById(R.id.card_view_show_cast); tvShowPosterImageView = (ImageView) itemView.findViewById(R.id.image_view_show_cast); tvShowTitleTextView = (TextView) itemView.findViewById(R.id.text_view_title_show_cast); castCharacterTextView = (TextView) itemView.findViewById(R.id.text_view_cast_character_show_cast); tvShowPosterImageView.getLayoutParams().width = (int) (mContext.getResources().getDisplayMetrics().widthPixels * 0.31); tvShowPosterImageView.getLayoutParams().height = (int) ((mContext.getResources().getDisplayMetrics().widthPixels * 0.31) / 0.66); tvShowCard.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent = new Intent(mContext, TVShowDetailActivity.class); intent.putExtra(Constants.TV_SHOW_ID, mTVCasts.get(getAdapterPosition()).getId()); mContext.startActivity(intent); } }); } } }