Guest User

Untitled

a guest
Mar 19th, 2018
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.71 KB | None | 0 0
  1. public class LoadJustHardPostFromFireBase implements ItemsForPost{
  2. private ArrayList<String> exerciseHard;
  3. private ArrayList<String> otherData;
  4. private int type;
  5.  
  6. public ArrayList getTrainingEx(DatabaseReference myRef, final FirebaseUser user, int id)
  7. { получаю данные в список из firebase return exerciseHard;}
  8.  
  9. public ArrayList getOtherData(DatabaseReference myRef, final FirebaseUser user, long id)
  10. {получаю вторые данные в список из firebase return otherData;}
  11.  
  12. public class LoadJustCardioPostFromFireBase implements ItemsForPost{
  13. private ArrayList<String> exerciseCard;
  14. private ArrayList<String> otherData;
  15. private int type;
  16.  
  17. public ArrayList getCardioEx(DatabaseReference myRef, final FirebaseUser user, int id)
  18. { получаю данные в список из firebase return exerciseCard;}
  19.  
  20. public ArrayList getOtherData(DatabaseReference myRef, final FirebaseUser user, long id)
  21. {получаю вторые данные в список из firebase return otherData;}
  22.  
  23. public class LoadFullGroupPostFromFireBase implements ItemsForPost{
  24. private ArrayList<String> otherData;
  25. private ArrayList<String> exerciseHard;
  26. private ArrayList<String> exerciseCard;
  27. private int type;
  28.  
  29. public ArrayList getTrainingEx(DatabaseReference myRef, final FirebaseUser user, int id)
  30. { получаю данные в список из firebase return exerciseHard;}
  31.  
  32. public ArrayList getCardioEx(DatabaseReference myRef, final FirebaseUser user, int id)
  33. { получаю данные в список из firebase return exerciseCard;}
  34.  
  35. public ArrayList getOtherData(DatabaseReference myRef, final FirebaseUser user, long id)
  36. {получаю вторые данные в список из firebase return otherData;}
  37.  
  38. public interface ItemsForPost {
  39. int getItemType ();
  40. }
  41.  
  42. public class RecyclerAdapterForPost extends RecyclerView.Adapter<RecyclerAdapterForPost.myVH3> {
  43. ArrayList<ItemsForPost> items;
  44. private final int TYPE_ITEM_HARD = 1;
  45. private final int TYPE_ITEM_CARDIO = 2;
  46. private final int TYPE_ITEM_GROUP = 0;
  47. private FirebaseAuth mAuth = FirebaseAuth.getInstance();
  48. private FirebaseUser user = mAuth.getCurrentUser();
  49. private DatabaseReference myRef = FirebaseDatabase.getInstance().getReference();
  50.  
  51. public RecyclerAdapterForPost(ArrayList<ItemsForPost> items){
  52. this.items = items;
  53. }
  54.  
  55.  
  56. @Override
  57. public myVH3 onCreateViewHolder(ViewGroup parent, int viewType) {
  58. View v;
  59.  
  60. switch (viewType) {
  61. case TYPE_ITEM_HARD:
  62. v = LayoutInflater.from(parent.getContext()).inflate(R.layout.conteiner_post_hard, parent, false);
  63. break;
  64. case TYPE_ITEM_CARDIO:
  65. v = LayoutInflater.from(parent.getContext()).inflate(R.layout.conteiner_post_cardio, parent, false);
  66. break;
  67. default:
  68. v = LayoutInflater.from(parent.getContext()).inflate(R.layout.conteiner_post_group, parent, false);
  69. }
  70. return new myVH3(v);
  71. }
  72.  
  73. @Override
  74. public void onBindViewHolder(myVH3 holder, int position) {
  75. int type = getItemViewType(position);
  76.  
  77. switch (type) {
  78. case TYPE_ITEM_HARD:{
  79.  
  80. LoadJustHardPostFromFireBase loadHard = (LoadJustHardPostFromFireBase) items.get(position);
  81.  
  82. ArrayList<String> dataOne = loadHard.getTrainingEx(myRef, user, position);
  83. ArrayList<String> dataThree = loadHard.getOtherData(myRef,user,position);
  84. }
  85. break;
  86. case TYPE_ITEM_CARDIO:{
  87. LoadJustCardioPostFromFireBase loadCardio = (LoadJustCardioPostFromFireBase) items.get(position);
  88.  
  89. ArrayList<String> dataTwo = loadCardio.getCardioEx(myRef,user,position);
  90. ArrayList<String> dataThree = loadCardio.getOtherData(myRef,user,position);
  91. }
  92. break;
  93. case TYPE_ITEM_GROUP:{
  94. LoadFullGroupPostFromFireBase loadGroup = (LoadFullGroupPostFromFireBase) items.get(position);
  95.  
  96. ArrayList<String> dataOne = loadGroup.getTrainingEx(myRef, user, position);
  97. ArrayList<String> dataTwo = loadGroup.getCardioEx(myRef,user,position);
  98. ArrayList<String> dataThree = loadGroup.getOtherData(myRef,user,position);
  99. }
  100. break;
  101. }
  102. }
  103.  
  104. @Override
  105. public int getItemCount() {
  106. return items.size();
  107. }
  108.  
  109. @Override
  110. public int getItemViewType(int position) {
  111. // определяем какой тип в текущей позиции
  112. int type = items.get(position).getItemType();
  113. if (type == 1) return TYPE_ITEM_HARD;
  114. else if (type == 2) return TYPE_ITEM_CARDIO;
  115. else return TYPE_ITEM_GROUP;
  116.  
  117. }
  118.  
  119. public class myVH3 extends RecyclerView.ViewHolder{
  120.  
  121. TextView name_person_post;
  122. TextView data_person_post;
  123. TextView tonnageNow;
  124. TextView kpwNow;
  125. TextView intencityNow;
  126. TextView timeForTrain;
  127. TextView exCount;
  128. TextView myWeightFromProfile;
  129.  
  130.  
  131.  
  132. public myVH3(View itemView) {
  133. super(itemView);
  134. name_person_post= itemView.findViewById(R.id.name_person_post);
  135. data_person_post= itemView.findViewById(R.id.data_person_post);
  136. tonnageNow= itemView.findViewById(R.id.tonnageNow);
  137. kpwNow= itemView.findViewById(R.id.kpwNow);
  138. intencityNow= itemView.findViewById(R.id.intencityNow);
  139. timeForTrain= itemView.findViewById(R.id.timeForTrain);
  140. exCount= itemView.findViewById(R.id.exCCount);
  141. myWeightFromProfile= itemView.findViewById(R.id.myWeightFromProfile);
  142. }
  143. }
  144. }
  145.  
  146. LoadFullGroupPostFromFireBase loadGroup = (LoadFullGroupPostFromFireBase) items.get(position);
  147.  
  148. ArrayList<String> dataOne = loadGroup.getTrainingEx(myRef, user, position);
  149.  
  150. ArrayList<String> dataOne = new ArrayList(); внутри onBindViewHolder
  151.  
  152. ....
  153. private ArrayList<ItemsForPost> items = new ArrayList<>();
  154. public View onCreateView(...){
  155. items.add(new LoadJustCardioPostFromFireBase(2));
  156. }
  157. ....
Add Comment
Please, Sign In to add comment