Advertisement
Guest User

Untitled

a guest
Feb 20th, 2020
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.67 KB | None | 0 0
  1. package essers.be.app.adapters;
  2.  
  3. import android.content.Context;
  4. import android.content.Intent;
  5. import android.view.LayoutInflater;
  6. import android.view.View;
  7. import android.view.ViewGroup;
  8. import android.widget.RelativeLayout;
  9. import android.widget.TextView;
  10.  
  11. import androidx.annotation.NonNull;
  12. import androidx.recyclerview.widget.RecyclerView;
  13.  
  14. import java.util.ArrayList;
  15.  
  16. import essers.be.app.ColliActivity;
  17. import essers.be.app.R;
  18.  
  19. /**
  20.  * extends the inner class Viewholder as an adapter
  21.  */
  22. public class DischargeListAdapter extends RecyclerView.Adapter<DischargeListAdapter.ViewHolder> {
  23.     private static final String TAG = "DischargeListAdapter";
  24.  
  25.     /** a list with all ordernumbers in a dischargeList */
  26.     ArrayList<String> orderNumberList = new ArrayList<>();
  27.     /** a list with all names in a dischargeList */
  28.     ArrayList<String> descriptionList = new ArrayList<>();
  29.     /** a list with all dates in a dischargeList */
  30.     ArrayList<String> datesList = new ArrayList<>();
  31.     /** a list with all lengths in a dischargeList */
  32.     ArrayList<String> lengthsList = new ArrayList<>();
  33.     /** a list with all widths in a dischargeList */
  34.     ArrayList<String> widthsList = new ArrayList<>();
  35.     /** a list with all heights in a dischargeList */
  36.     ArrayList<String> heightsList = new ArrayList<>();
  37.     private Context context;
  38.  
  39.     /**
  40.      * constructs a new dischargeListAdapter with given parameters
  41.      * @returns a new dischargeListAdapter with given parameters
  42.      * @param orderNumberList given ArrayList<String>
  43.      * @param descriptionList given ArrayList<String>
  44.      * @param datesList given ArrayList<String>
  45.      * @param lengthsList given ArrayList<String>
  46.      * @param widthsList given ArrayList<String>
  47.      * @param heightsList given ArrayList<String>
  48.      * @param context given ArrayList<String>
  49.      */
  50.     public DischargeListAdapter(ArrayList<String> orderNumberList, ArrayList<String> descriptionList, ArrayList<String> datesList, ArrayList<String> lengthsList, ArrayList<String> widthsList, ArrayList<String> heightsList, Context context) {
  51.         this.orderNumberList = orderNumberList;
  52.         this.descriptionList = descriptionList;
  53.         this.datesList = datesList;
  54.         this.lengthsList = lengthsList;
  55.         this.widthsList = widthsList;
  56.         this.heightsList = heightsList;
  57.         this.context = context;
  58.     }
  59.  
  60.     /**
  61.      * overrided method that sets the layout of an individual item in the recyclerview
  62.      * @param parent
  63.      * @param viewType
  64.      * @return a viewholder that has the layout of an individual item
  65.      */
  66.     @NonNull
  67.     @Override
  68.     public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
  69.         View view =  LayoutInflater.from(parent.getContext()).inflate(R.layout.discharge_list_item_layout, parent, false);
  70.         ViewHolder viewHolder = new ViewHolder(view);
  71.         return viewHolder;
  72.     }
  73.  
  74.     /**
  75.      * binds the elements in the view with the corresponding item
  76.      * @param holder
  77.      * @param position
  78.      */
  79.     @Override
  80.     public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
  81.         holder.orderNumber.setText(orderNumberList.get(position));
  82.         holder.description.setText(descriptionList.get(position));
  83.         holder.length.setText(lengthsList.get(position));
  84.         holder.width.setText(widthsList.get(position));
  85.         holder.heigth.setText(heightsList.get(position));
  86.  
  87.         holder.parentLayout.setOnClickListener(new View.OnClickListener() {
  88.             @Override
  89.             public void onClick(View v) {
  90.                 Intent intent = new Intent();
  91.                 intent.setClass(v.getContext(), ColliActivity.class);
  92.                 intent.putExtra("colliId", orderNumberList.get(position) + "");
  93.                 context.startActivity(intent);
  94.             }
  95.         });
  96.     }
  97.  
  98.     /** returns the size of the lists so a right amount of items get created**/
  99.     @Override
  100.     public int getItemCount() {
  101.         return orderNumberList.size();
  102.     }
  103.  
  104.     /** inner class that extends viewholder **/
  105.     public class ViewHolder extends RecyclerView.ViewHolder{
  106.  
  107.         /** TextView that shows orderNumber */
  108.         TextView orderNumber;
  109.         /** TextView that shows date */
  110.         TextView date;
  111.         /** TextView that shows description */
  112.         TextView description;
  113.         /** TextView that shows length */
  114.         TextView length;
  115.         /** TextView that shows width */
  116.         TextView width;
  117.         /** TextView that shows height */
  118.         TextView heigth;
  119.         /** Relativelayout that holds all elements */
  120.         RelativeLayout parentLayout;
  121.  
  122.         /**
  123.          * initiates all the variables with the right element from the layout
  124.          * @param itemView
  125.          */
  126.         public ViewHolder(@NonNull View itemView) {
  127.             super(itemView);
  128.             orderNumber = itemView.findViewById(R.id.orderTextEdit);
  129.             description = itemView.findViewById(R.id.naamTextEdit);
  130.             length = itemView.findViewById(R.id.lengteTextEdit);
  131.             width = itemView.findViewById(R.id.breedteTextEdit);
  132.             heigth = itemView.findViewById(R.id.hoogteTextEdit);
  133.             parentLayout = itemView.findViewById(R.id.parent_layout);
  134.         }
  135.     }
  136. }
  137.  
  138.  
  139.  
  140. // aanroepen
  141.  private void initRecyclerView() {
  142.         RecyclerView recyclerView = findViewById(R.id.recycler_view);
  143.         DischargeListAdapter adapter = new DischargeListAdapter(orderNumberList, namesList, datesList, lengthsList,     widthsList, heightsList, this);
  144.         recyclerView.setAdapter(adapter);
  145.         recyclerView.setLayoutManager(new LinearLayoutManager(this));
  146.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement