Blame view

footsafety/app/src/main/java/etelligens/com/foodsafety/adapter/CustomLabelAdapterFrontEnd.java 3.1 KB
f7a13682   “wangming”   项目初始化
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
  package etelligens.com.foodsafety.adapter;
  
  import android.content.Context;
  
  import android.view.LayoutInflater;
  import android.view.View;
  import android.view.ViewGroup;
  import android.widget.ImageView;
  import android.widget.RelativeLayout;
  import android.widget.TextView;
  
  import androidx.annotation.NonNull;
  import androidx.recyclerview.widget.RecyclerView;
  
  import com.bumptech.glide.Glide;
  
  import org.json.JSONArray;
  
  import java.net.URLDecoder;
  import java.util.ArrayList;
  
  import etelligens.com.foodsafety.R;
  import etelligens.com.foodsafety.model.CustomLabelFrontModal;
  
  import static etelligens.com.foodsafety.utils.EndPoint.ETE_IMAGE_BASEURL;
  
  public class CustomLabelAdapterFrontEnd extends RecyclerView.Adapter<CustomLabelAdapterFrontEnd.CustomViewHolder> {
  
      Context context;
      ArrayList<CustomLabelFrontModal> labelFrontModals;
      PassData passData;
  
      public interface PassData {
          void sendData(CustomLabelFrontModal customLabelFrontModal);
      }
  
      public CustomLabelAdapterFrontEnd(Context context, ArrayList<CustomLabelFrontModal> labelFrontModals, PassData passData) {
          this.context = context;
          this.labelFrontModals = labelFrontModals;
          this.passData = passData;
      }
  
      View view;
  
      @NonNull
      @Override
      public CustomLabelAdapterFrontEnd.CustomViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int i) {
          view = LayoutInflater.from(context).inflate(R.layout.item_layout_categorylist, parent, false);
          return new CustomViewHolder(view);
      }
  
      @Override
      public void onBindViewHolder(@NonNull CustomLabelAdapterFrontEnd.CustomViewHolder holder, int position) {
          final CustomLabelFrontModal modal = labelFrontModals.get(position);
          String name = modal.getDescription();
         String decodeName=decodeString(name);
          if (decodeName != null) {
  
              holder.itemname.setText(decodeName);
  
          } else {
              holder.itemname.setText(R.string.unknown_txt);
          }
  
          String image = modal.getImage();
  
          if (decodeName != null) {
              holder.itemname.setText(decodeName);
          }
  
          if (image != null && !image.equals("")) {
              Glide.with(context)
                      .load(ETE_IMAGE_BASEURL + image)
                      .into(holder.itemImg);
          } else {
              holder.itemImg.setImageResource(R.drawable.icon_no_image);
          }
  
          holder.rllayout.setOnClickListener(view -> passData.sendData(modal));
      }
  
      @Override
      public int getItemCount() {
          return labelFrontModals.size();
      }
  
      private String decodeString(String productPrice) {
          String value= URLDecoder.decode(productPrice);
          return value;
      }
  
      public class CustomViewHolder extends RecyclerView.ViewHolder {
          ImageView itemImg;
          TextView itemname;
          RelativeLayout rllayout;
  
          public CustomViewHolder(View itemview) {
              super(itemview);
  
              itemImg = itemview.findViewById(R.id.item_image_layout);
              itemname = itemview.findViewById(R.id.item_textname);
              rllayout = itemview.findViewById(R.id.rl_layout);
          }
      }
  }