Advertisement
Guest User

Adapter

a guest
Jul 18th, 2019
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.58 KB | None | 0 0
  1. package com.example.catalogmovie.Adapter;
  2.  
  3. import android.content.Context;
  4. import android.content.res.AssetManager;
  5. import android.graphics.Bitmap;
  6. import android.graphics.BitmapFactory;
  7. import android.support.annotation.NonNull;
  8. import android.support.v7.widget.RecyclerView;
  9. import android.util.Log;
  10. import android.view.LayoutInflater;
  11. import android.view.View;
  12. import android.view.ViewGroup;
  13. import android.widget.Button;
  14. import android.widget.ImageView;
  15. import android.widget.TextView;
  16.  
  17. import com.example.catalogmovie.Model.Movie;
  18. import com.example.catalogmovie.MovieListener;
  19. import com.example.catalogmovie.R;
  20.  
  21. import java.io.IOException;
  22. import java.io.InputStream;
  23. import java.util.ArrayList;
  24.  
  25.  
  26. public class CardViewMovieAdapter extends RecyclerView.Adapter<CardViewMovieAdapter.CardViewHolder> {
  27.  
  28. private static final String TAG = "CardViewMovieAdapter";
  29. private ArrayList<Movie> listMovie;
  30. private Context context;
  31. private MovieListener movieListener;
  32.  
  33. public CardViewMovieAdapter(Context context, ArrayList<Movie> listMovie, MovieListener movieListener) {
  34. this.context = context;
  35. this.listMovie = listMovie;
  36. this.movieListener = movieListener;
  37. }
  38.  
  39.  
  40. // public CardViewMovieAdapter(Context context, ArrayList<Movie> listMovie) {
  41. // this.context = context;
  42. // this.listMovie = listMovie;
  43. // }
  44.  
  45. @NonNull
  46. @Override
  47. public CardViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int viewType) {
  48. View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.item_cardview_movie, viewGroup, false);
  49. return new CardViewHolder(view);
  50. }
  51.  
  52. @Override
  53. public void onBindViewHolder(@NonNull CardViewHolder holder, int position) {
  54. final Movie movie = listMovie.get(position);
  55.  
  56. holder.tvName.setText(movie.getName());
  57. holder.tvYear.setText(movie.getYear());
  58. holder.tvRating.setText(movie.getRating());
  59. holder.tvGenre.setText(movie.getGenre());
  60. holder.tvDescription.setText(movie.getDescription());
  61.  
  62. // holder.imgPhoto.setImageResource(movie.getPhoto());
  63.  
  64. holder.btnDetails.setOnClickListener(new View.OnClickListener() {
  65. @Override
  66. public void onClick(View v) {
  67. movieListener.onSelectedMovie(movie);
  68. }
  69. });
  70.  
  71. try {
  72. AssetManager assetManager = context.getAssets();
  73. InputStream ims = assetManager.open(movie.getPhoto());
  74. Bitmap bitmap = BitmapFactory.decodeStream(ims);
  75. holder.imgPhoto.setImageBitmap(bitmap);
  76. } catch (IOException ex) {
  77. Log.e(TAG, "onBindViewHolder: ", ex);
  78. }
  79. }
  80.  
  81. @Override
  82. public int getItemCount() {
  83. return listMovie.size();
  84. }
  85.  
  86. public class CardViewHolder extends RecyclerView.ViewHolder {
  87.  
  88. ImageView imgPhoto;
  89. TextView tvName, tvYear, tvRating, tvGenre, tvDescription;
  90. Button btnDetails;
  91.  
  92. public CardViewHolder(@NonNull View itemView) {
  93. super(itemView);
  94.  
  95. imgPhoto = itemView.findViewById(R.id.img_item_photo);
  96. tvName = itemView.findViewById(R.id.tv_movie_name);
  97. tvYear = itemView.findViewById(R.id.tv_movie_year);
  98. tvRating = itemView.findViewById(R.id.tv_movie_rating);
  99. tvGenre = itemView.findViewById(R.id.tv_movie_genre);
  100. tvDescription = itemView.findViewById(R.id.tv_movie_description);
  101. btnDetails = itemView.findViewById(R.id.btn_details);
  102. }
  103. }
  104. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement