Guest User

Untitled

a guest
Nov 20th, 2017
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.09 KB | None | 0 0
  1. public class ViewCoursesActivity extends AppCompatActivity {
  2. RecyclerView recyclerView;
  3. RecyclerView.LayoutManager layoutManager;
  4. private CourseAdapter adapter;
  5. @Override
  6. protected void onCreate(Bundle savedInstanceState) {
  7. super.onCreate(savedInstanceState);
  8. setContentView(R.layout.activity_view_courses);
  9. recyclerView = findViewById(R.id.recyclerViewCourses);
  10. recyclerView.setHasFixedSize(true);
  11. layoutManager = new LinearLayoutManager(this);
  12. recyclerView.setLayoutManager(layoutManager);
  13. ArrayList<Course> datos = new ArrayList<>();
  14. datos.add(new Course("Relational databases", 500,
  15. "A complete course about relational databases.", R.drawable.bbdd));
  16. datos.add(new Course("OOP", 500,
  17. "A complete course about objects oriented programming.", R.drawable.objetos));
  18. datos.add(new Course("Android", 0,
  19. "A complete course about Android.", R.drawable.android));
  20.  
  21. adapter = new CourseAdapter(datos, R.layout.card_course,
  22. this, new CourseAdapter.OnItemClickListener() {
  23.  
  24. @Override
  25. public void onItemClickListener(View view) {
  26. switch (view.getId()){
  27. case R.id.buttonBuy:{
  28. Toast.makeText(getApplicationContext(), "Funciona", Toast.LENGTH_SHORT).show();
  29. break;
  30. }
  31. }
  32. }
  33. });
  34. recyclerView.setAdapter(adapter);
  35. }
  36. }
  37.  
  38. public class CourseAdapter extends RecyclerView.Adapter<CourseAdapter.ViewHolder>{
  39.  
  40. ArrayList<Course> dataSet;
  41. private int layout;
  42. private Activity activity;
  43. private static OnItemClickListener listener;
  44.  
  45. public CourseAdapter(ArrayList<Course> dataSet, int layout, Activity activity, OnItemClickListener listener) {
  46. this.dataSet = dataSet;
  47. this.layout = layout;
  48. this.activity = activity;
  49. this.listener = listener;
  50. }
  51.  
  52. @Override
  53. public CourseAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
  54. View v = LayoutInflater.from(parent.getContext()).inflate(layout, parent, false);
  55.  
  56. return new ViewHolder(v);
  57. }
  58.  
  59. @Override
  60. public void onBindViewHolder(CourseAdapter.ViewHolder holder, int position) {
  61. holder.title.setText(dataSet.get(position).getName());
  62. if(dataSet.get(position).getCost() == 0){
  63. holder.cost.setText("FREE");
  64. }else{
  65. holder.cost.setText("$"+dataSet.get(position).getCost());
  66. }
  67. holder.description.setText(dataSet.get(position).getDescription());
  68. holder.image.setImageResource(dataSet.get(position).getCover());
  69. //events
  70. }
  71.  
  72. @Override
  73. public int getItemCount() {
  74. return dataSet.size();
  75. }
  76.  
  77.  
  78. public static class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{
  79.  
  80. TextView title;
  81. TextView description;
  82. TextView cost;
  83. ImageView image;
  84. Button buttonBuy, buttonSeeMore;
  85. Context context;
  86. public ViewHolder(View itemView) {
  87. super(itemView);
  88. context = itemView.getContext();
  89. title = itemView.findViewById(R.id.textViewTitle);
  90. description = itemView.findViewById(R.id.textViewDescription);
  91. cost = itemView.findViewById(R.id.textViewCost);
  92. image = itemView.findViewById(R.id.imageViewCover);
  93. buttonBuy = itemView.findViewById(R.id.buttonBuy);
  94. buttonSeeMore = itemView.findViewById(R.id.buttonSeeMore);
  95. buttonBuy.setOnClickListener(this);
  96. buttonSeeMore.setOnClickListener(this);
  97. }
  98.  
  99. @Override
  100. public void onClick(View view) {
  101. // Llamas el método onItemClickListener() de la interfaz OnItemClickListener
  102. listener.onItemClickListener(view);
  103. }
  104. }
  105. public interface OnItemClickListener{
  106. // Este método recibe como parámetro la vista del elemento seleccionado
  107. void onItemClickListener(View view);
  108. }
  109. }
Add Comment
Please, Sign In to add comment