Created
May 24, 2018 13:19
-
-
Save aws1994/cd5fea1084d2f700fa8d0a73083b064f to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.demotxt.myapp.myapplication.adapters; | |
import android.content.Context; | |
import android.content.Intent; | |
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.LinearLayout; | |
import android.widget.TextView; | |
import android.widget.Toast; | |
import com.bumptech.glide.Glide; | |
import com.bumptech.glide.request.RequestOptions; | |
import com.demotxt.myapp.myapplication.activities.AnimeActivity; | |
import com.demotxt.myapp.myapplication.model.Anime; | |
import com.demotxt.myapp.myapplication.R ; | |
import java.util.List; | |
/** | |
* Created by Aws on 11/03/2018. | |
*/ | |
public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewAdapter.MyViewHolder> { | |
private Context mContext ; | |
private List<Anime> mData ; | |
RequestOptions option; | |
public RecyclerViewAdapter(Context mContext, List<Anime> mData) { | |
this.mContext = mContext; | |
this.mData = mData; | |
// Request option for Glide | |
option = new RequestOptions().centerCrop().placeholder(R.drawable.loading_shape).error(R.drawable.loading_shape); | |
} | |
@Override | |
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { | |
View view ; | |
LayoutInflater inflater = LayoutInflater.from(mContext); | |
view = inflater.inflate(R.layout.anime_row_item,parent,false) ; | |
final MyViewHolder viewHolder = new MyViewHolder(view) ; | |
viewHolder.view_container.setOnClickListener(new View.OnClickListener() { | |
@Override | |
public void onClick(View v) { | |
Intent i = new Intent(mContext, AnimeActivity.class); | |
// sending data process | |
i.putExtra("anime_name",mData.get(viewHolder.getAdapterPosition()).getName()); | |
i.putExtra("anime_description",mData.get(viewHolder.getAdapterPosition()).getDescription()); | |
i.putExtra("anime_studio",mData.get(viewHolder.getAdapterPosition()).getStudio()); | |
i.putExtra("anime_category",mData.get(viewHolder.getAdapterPosition()).getCategorie()); | |
i.putExtra("anime_nb_episode",mData.get(viewHolder.getAdapterPosition()).getNb_episode()); | |
i.putExtra("anime_rating",mData.get(viewHolder.getAdapterPosition()).getRating()); | |
i.putExtra("anime_img",mData.get(viewHolder.getAdapterPosition()).getImage_url()); | |
mContext.startActivity(i); | |
} | |
}); | |
return viewHolder; | |
} | |
@Override | |
public void onBindViewHolder(MyViewHolder holder, int position) { | |
holder.tv_name.setText(mData.get(position).getName()); | |
holder.tv_rating.setText(mData.get(position).getRating()); | |
holder.tv_studio.setText(mData.get(position).getStudio()); | |
holder.tv_category.setText(mData.get(position).getCategorie()); | |
// Load Image from the internet and set it into Imageview using Glide | |
Glide.with(mContext).load(mData.get(position).getImage_url()).apply(option).into(holder.img_thumbnail); | |
} | |
@Override | |
public int getItemCount() { | |
return mData.size(); | |
} | |
public static class MyViewHolder extends RecyclerView.ViewHolder { | |
TextView tv_name ; | |
TextView tv_rating ; | |
TextView tv_studio ; | |
TextView tv_category; | |
ImageView img_thumbnail; | |
LinearLayout view_container; | |
public MyViewHolder(View itemView) { | |
super(itemView); | |
view_container = itemView.findViewById(R.id.container); | |
tv_name = itemView.findViewById(R.id.anime_name); | |
tv_category = itemView.findViewById(R.id.categorie); | |
tv_rating = itemView.findViewById(R.id.rating); | |
tv_studio = itemView.findViewById(R.id.studio); | |
img_thumbnail = itemView.findViewById(R.id.thumbnail); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment