Advertisement
DmitryShupegin

Untitled

Nov 17th, 2019
279
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.08 KB | None | 0 0
  1. public class MenuCustomAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
  2. // private List<CategoryName> cat = new ArrayList<>();
  3. // private List<MenuTicket> categoryModel = new ArrayList <>();
  4. // private List<CategoryName> categoryNameList = new ArrayList <>();
  5. private List<MenuCustomAdapterModel> adapterModels = new ArrayList <>();
  6.  
  7. private static final int LAYOUT_HEADER= 0;
  8. private static final int LAYOUT_CHILD= 1;
  9.  
  10. MenuActivity activity;
  11. Dialog myDialog;
  12. TextView count;
  13. String ItemFoodId;
  14. String namesRestoration;
  15. long priceDialog;
  16. int sums;
  17. int pz;
  18.  
  19.  
  20. TextView namesDialog;
  21. MenuCustomAdapterModel namesDish;
  22.  
  23.  
  24.  
  25.  
  26. public MenuCustomAdapter(MenuActivity activity1, List<CategoryName> categoryNameList){
  27. for (CategoryName i : categoryNameList) {
  28.  
  29. MenuCustomAdapterModel itemsAdaperModel = new MenuCustomAdapterModel();
  30. itemsAdaperModel.setCategoryName(i.getCategoryName());
  31. itemsAdaperModel.setIsHeader(true);
  32.  
  33. adapterModels.add(itemsAdaperModel);
  34.  
  35. for (Map.Entry<String,MenuTicket> f : i.getItems().entrySet()){
  36.  
  37.  
  38. MenuCustomAdapterModel itemsAdaperModelChild = new MenuCustomAdapterModel();
  39. itemsAdaperModelChild.setItems(f.getValue());
  40. itemsAdaperModelChild.setIsHeader(false);
  41.  
  42. adapterModels.add(itemsAdaperModelChild);
  43.  
  44.  
  45. }
  46. }
  47.  
  48.  
  49. activity = activity1;
  50. }
  51.  
  52. @Override
  53. public int getItemCount() {
  54. return adapterModels.size();
  55. }
  56.  
  57.  
  58. public int scrollToCategory(String name){
  59. Log.d("Which","name = " + name);
  60. int position = 0;
  61.  
  62. for(int i = 0; i < adapterModels.size(); i++ ){
  63.  
  64. MenuCustomAdapterModel element = adapterModels.get(i);
  65.  
  66. if (element.isHeader == true){
  67. if(element.getCategoryName().equals(name)){
  68. position = i;
  69.  
  70. }
  71. }
  72. }
  73. return position;
  74.  
  75. }
  76.  
  77.  
  78. @Override
  79. public int getItemViewType(int position)
  80. {
  81.  
  82.  
  83. if(adapterModels.get(position).getIsHeader() == true) {
  84.  
  85. return LAYOUT_HEADER;
  86.  
  87. }else
  88.  
  89. return LAYOUT_CHILD;
  90. }
  91.  
  92.  
  93.  
  94. @NonNull
  95. @Override
  96. public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
  97. RecyclerView.ViewHolder holder;
  98. if(viewType==LAYOUT_HEADER){
  99. View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_header_category_menu, parent ,false);
  100. holder = new MyViewHolderHeader(view);
  101. }else {
  102. View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_menuitem, parent ,false);
  103. holder = new MyViewHolderChild(view);
  104. }
  105.  
  106.  
  107. return holder;
  108. }
  109.  
  110. @Override
  111. public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, final int position) {
  112.  
  113.  
  114. if(holder.getItemViewType() == LAYOUT_HEADER) {
  115.  
  116.  
  117. MyViewHolderHeader vaultItemHolder = (MyViewHolderHeader) holder;
  118. vaultItemHolder.categoryHeader.setText(adapterModels.get(position).getCategoryName());
  119. } else {
  120.  
  121. MenuCustomAdapterModel menuPosition = adapterModels.get(position);
  122.  
  123. final MyViewHolderChild vaultItemHolder = (MyViewHolderChild) holder;
  124. vaultItemHolder.textViewDishName.setText(adapterModels.get(position).getItems().getName());
  125.  
  126. String simTwo = adapterModels.get(position).getItems().getDescription();
  127.  
  128. vaultItemHolder.textViewGoodsDescription.setText(String.valueOf(simTwo));
  129.  
  130. long sim = adapterModels.get(position).getItems().getCost();
  131. vaultItemHolder.textViewCost.setText(Long.toString(sim));
  132.  
  133. Boolean rr = ProgamMenu.getProgamMenu().checkingThelist(adapterModels.get(position).getItems());
  134.  
  135. if (rr == true) {
  136. vaultItemHolder.checkBoxItem.setBackgroundResource(R.color.my_color);
  137. }else{
  138. vaultItemHolder.checkBoxItem.setBackgroundResource(R.color.my_colorTwo);
  139. }
  140.  
  141. FirebaseStorage storageTwo = FirebaseStorage.getInstance();
  142.  
  143. StorageReference storageRefTwo = storageTwo.getReferenceFromUrl(menuPosition.getItems().getPicture());
  144.  
  145. storageRefTwo.getDownloadUrl().addOnSuccessListener(new OnSuccessListener <Uri>() {
  146. @Override
  147. public void onSuccess(Uri uri) {
  148.  
  149. Picasso.get().load(uri).memoryPolicy(MemoryPolicy.NO_CACHE,MemoryPolicy.NO_STORE).into(vaultItemHolder.picture);
  150. }
  151. }).addOnFailureListener(new OnFailureListener() {
  152. @Override
  153. public void onFailure(@NonNull Exception exception) {
  154. Toast toast = Toast.makeText(activity,
  155. "Ошибка!", Toast.LENGTH_SHORT);
  156. toast.show();
  157. }
  158. });
  159.  
  160. }
  161.  
  162. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement