package com.vacuum.app.plex.Adapter; import android.content.Context; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentTransaction; 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.request.RequestOptions; import com.vacuum.app.plex.Fragments.ActorFragment; import com.vacuum.app.plex.Fragments.DetailsTV_Fragment; import com.vacuum.app.plex.MainActivity; import com.vacuum.app.plex.Model.Cast; import com.vacuum.app.plex.Model.Trailer; import com.vacuum.app.plex.R; import java.util.List; import static com.vacuum.app.plex.Fragments.ActorFragment.TAG_ACTOR_FRAGMENT; /** * Created by Home on 3/1/2018. */ public class CreditsAdapter extends RecyclerView.Adapter<CreditsAdapter.CreditsViewHolder> { private List<Cast> casts; private Context mContext; public static class CreditsViewHolder extends RecyclerView.ViewHolder { TextView name; TextView character; ImageView thumbnail; public CreditsViewHolder(View v) { super(v); name = (TextView) v.findViewById(R.id.name); character = (TextView) v.findViewById(R.id.character); thumbnail = (ImageView) v.findViewById(R.id.thumbnail); } } public CreditsAdapter(List<Cast> casts, Context mContext) { this.casts = casts; this.mContext = mContext; } @Override public CreditsAdapter.CreditsViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_item_cast, parent, false); return new CreditsAdapter.CreditsViewHolder(view); } @Override public void onBindViewHolder(CreditsAdapter.CreditsViewHolder holder, final int position) { holder.name.setText(casts.get(position).getName()); holder.character.setText(casts.get(position).getCharacter()); RequestOptions requestOptions = new RequestOptions(); requestOptions.placeholder(R.drawable.if_person); requestOptions.error(R.drawable.if_person); Glide.with(mContext).setDefaultRequestOptions(requestOptions).load("http://image.tmdb.org/t/p/w185"+casts.get(position).getProfilePath()).apply(RequestOptions.circleCropTransform()).into(holder.thumbnail); //onClick //================================================================== holder.itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Fragment fragment = new ActorFragment(); Bundle bundle = new Bundle(); bundle.putInt("person_id", casts.get(position).getId()); fragment.setArguments(bundle); FragmentTransaction fragmentTransaction = ((FragmentActivity)mContext).getSupportFragmentManager().beginTransaction(); fragmentTransaction.replace(R.id.frame, fragment,TAG_ACTOR_FRAGMENT); fragmentTransaction.addToBackStack(MainActivity.CURRENT_TAG); fragmentTransaction.commit(); } }); } @Override public int getItemCount() { return casts.size(); } }