Advertisement
radityahunter48

SingleListAdapter.java

Nov 30th, 2018
594
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.48 KB | None | 0 0
  1. package com.example.radit.akb48.adapter;
  2.  
  3. import android.support.v7.widget.RecyclerView;
  4. import android.view.LayoutInflater;
  5. import android.view.View;
  6. import android.view.ViewGroup;
  7. import android.widget.ImageView;
  8. import android.widget.TextView;
  9.  
  10. import com.example.radit.akb48.R;
  11. import com.example.radit.akb48.model.Single;
  12.  
  13.  
  14. import java.util.ArrayList;
  15. import java.util.List;
  16.  
  17.  
  18.  
  19. /**
  20. * Created by adit on 30/11/18.
  21. */
  22. public class SingleListAdapter extends RecyclerView.Adapter<SingleListAdapter.SingleViewHolder>{
  23.  
  24. private List<Single> singleList;
  25. private OnGridItemSelectedListener onGridItemSelectedListener;
  26.  
  27. public SingleListAdapter(OnGridItemSelectedListener onGridItemSelectedListener) {
  28. this.onGridItemSelectedListener = onGridItemSelectedListener;
  29. singleList = new ArrayList<>();
  30. }
  31.  
  32. private void add(Single item) {
  33. singleList.add(item);
  34. notifyItemInserted(singleList.size() - 1);
  35. }
  36.  
  37. public void addAll(List<Single> singleList) {
  38. for (Single single : singleList) {
  39. add(single);
  40. }
  41. }
  42.  
  43. public void remove(Single item) {
  44. int position = singleList.indexOf(item);
  45. if (position > -1) {
  46. singleList.remove(position);
  47. notifyItemRemoved(position);
  48. }
  49. }
  50.  
  51. public void clear() {
  52. while (getItemCount() > 0) {
  53. remove(getItem(0));
  54. }
  55. }
  56.  
  57. public Single getItem(int position){
  58. return singleList.get(position);
  59. }
  60.  
  61. @Override
  62. public SingleViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
  63. View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_item_single, parent, false);
  64. final SingleViewHolder singleViewHolder = new SingleViewHolder(view);
  65.  
  66. singleViewHolder.itemView.setOnClickListener(new View.OnClickListener() {
  67. @Override
  68. public void onClick(View v) {
  69. int adapterPos = singleViewHolder.getAdapterPosition();
  70. if (adapterPos != RecyclerView.NO_POSITION) {
  71. if (onGridItemSelectedListener != null) {
  72. onGridItemSelectedListener.onGridItemClick(singleViewHolder.itemView, adapterPos);
  73. }
  74. }
  75. }
  76. });
  77.  
  78. return singleViewHolder;
  79. }
  80.  
  81. @Override
  82. public void onBindViewHolder(SingleViewHolder holder, int position) {
  83. final Single single = singleList.get(position);
  84.  
  85. holder.img.setImageResource(single.getImg());
  86. holder.title.setText(single.getTitle());
  87. }
  88.  
  89. @Override
  90. public int getItemCount() {
  91. return singleList.size();
  92. }
  93.  
  94. @Override
  95. public void onAttachedToRecyclerView(RecyclerView recyclerView) {
  96. super.onAttachedToRecyclerView(recyclerView);
  97. }
  98.  
  99. @Override
  100. public void onDetachedFromRecyclerView(RecyclerView recyclerView) {
  101. super.onDetachedFromRecyclerView(recyclerView);
  102. }
  103.  
  104. public class SingleViewHolder extends RecyclerView.ViewHolder {
  105.  
  106. ImageView img;
  107. TextView title;
  108.  
  109. public SingleViewHolder(View itemView) {
  110. super(itemView);
  111.  
  112. img = (ImageView) itemView.findViewById(R.id.img);
  113. title = (TextView) itemView.findViewById(R.id.title);
  114. }
  115.  
  116. }
  117.  
  118. public interface OnGridItemSelectedListener {
  119. void onGridItemClick(View v, int position);
  120. }
  121.  
  122. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement