Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2019
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.87 KB | None | 0 0
  1. package android.eservices.recyclerview;
  2.  
  3.  
  4. import android.content.Context;
  5. import android.graphics.Bitmap;
  6. import android.graphics.BitmapFactory;
  7. import android.graphics.drawable.Drawable;
  8. import android.view.LayoutInflater;
  9. import android.view.View;
  10. import android.view.ViewGroup;
  11. import android.widget.ImageButton;
  12. import android.widget.ImageView;
  13. import android.widget.TextView;
  14.  
  15. import androidx.recyclerview.widget.RecyclerView;
  16.  
  17. import com.bumptech.glide.Glide;
  18. import com.bumptech.glide.request.RequestOptions;
  19.  
  20. import java.io.InputStream;
  21. import java.net.HttpURLConnection;
  22. import java.net.MalformedURLException;
  23. import java.net.URL;
  24. import java.util.List;
  25.  
  26. public class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyViewHolder> {
  27. private List<GameViewModel> mDataset;
  28. private GameActionInterface game;
  29.  
  30. // Provide a reference to the views for each data item
  31. // Complex data items may need more than one view per item, and
  32. // you provide access to all the views for a data item in a view holder
  33. public static class MyViewHolder extends RecyclerView.ViewHolder {
  34. // each data item is just a string in this case
  35. public TextView title;
  36. public TextView desc;
  37. public ImageView back;
  38. public ImageButton info;
  39. public ImageButton imge;
  40.  
  41. public MyViewHolder(View v) {
  42. super(v);
  43. title = v.findViewById(R.id.title_textview);
  44. desc = v.findViewById(R.id.description_textview);
  45. back = v.findViewById(R.id.icon_imageview);
  46. info = v.findViewById(R.id.info_button);
  47. imge = v.findViewById(R.id.game_button);
  48.  
  49. }
  50. }
  51.  
  52.  
  53. // Provide a suitable constructor (depends on the kind of dataset)
  54. public MyAdapter(List<GameViewModel> myDataset) {
  55. mDataset = myDataset;
  56. }
  57.  
  58. // Create new views (invoked by the layout manager)
  59. @Override
  60. public MyAdapter.MyViewHolder onCreateViewHolder(ViewGroup parent,
  61. int viewType) {
  62. // create a new view
  63. if (parent.getContext() instanceof GameActionInterface) {
  64. game = (GameActionInterface) parent.getContext();
  65. }
  66.  
  67. View v = LayoutInflater.from(parent.getContext())
  68. .inflate(R.layout.item_recyclerview, parent, false);
  69. MyViewHolder vh = new MyViewHolder(v);
  70.  
  71. return vh;
  72. }
  73.  
  74. // Replace the contents of a view (invoked by the layout manager)
  75. @Override
  76. public void onBindViewHolder(final MyViewHolder holder, int position) {
  77. // - get element from your dataset at this position
  78. // - replace the contents of the view with that element
  79. holder.title.setText(mDataset.get(position).getTitle());
  80. holder.desc.setText(mDataset.get(position).getDescription());
  81. //holder.back.setImageResource(R.drawable.borderlands);
  82. //holder.back.
  83. RequestOptions options = new RequestOptions()
  84. .centerCrop()
  85. .placeholder(R.mipmap.ic_launcher_round)
  86. .error(R.mipmap.ic_launcher_round);
  87.  
  88. Glide.with(holder.back).load(mDataset.get(position).getImageUrl()).apply(options).into(holder.back);
  89.  
  90. holder.info.setOnClickListener(new View.OnClickListener() {
  91. @Override
  92. public void onClick(View view) {
  93. game.onGameInfoClicked(holder.title.getText().toString());
  94. }
  95. });
  96. holder.imge.setOnClickListener(new View.OnClickListener() {
  97. @Override
  98. public void onClick(View view) {
  99. game.onGameClicked(holder.title.getText().toString());
  100. }
  101. });
  102. }
  103.  
  104. // Return the size of your dataset (invoked by the layout manager)
  105. @Override
  106. public int getItemCount() {
  107. return mDataset.size();
  108. }
  109. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement