StudentAdapter

mail@pastecode.io avatar
unknown
xml
2 years ago
2.4 kB
2
Indexable
Never
package com.shaon.firebasecontactsapp.adapters;

import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;

import com.bumptech.glide.Glide;
import com.google.android.material.imageview.ShapeableImageView;
import com.shaon.firebasecontactsapp.R;
import com.shaon.firebasecontactsapp.models.StudentModel;

import java.util.ArrayList;
import java.util.List;

public class StudentAdapter extends RecyclerView.Adapter<StudentAdapter.StudentViewHolder> {

    List<StudentModel> studentList = new ArrayList<>();

    public StudentAdapter(List<StudentModel> studentList) {
        this.studentList = studentList;
    }

    @NonNull
    @Override
    public StudentViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.sample_row, parent, false);
        return new StudentViewHolder(view);
    }

    @Override
    public void onBindViewHolder(@NonNull StudentViewHolder holder, int position) {
        StudentModel model = studentList.get(position);
        if(model != null){
            Glide.with(holder.profileImage.getContext())
                    .load(model.getProfileImg())
                    .placeholder(R.drawable.placeholder_image)
                    .into(holder.profileImage);
        }
        
        holder.name.setText(model.getName());
        holder.department.setText(model.getDepartment());
        holder.number.setText(model.getNumber());
    }

    @Override
    public int getItemCount() {
        return studentList.size();
    }

    public class StudentViewHolder extends RecyclerView.ViewHolder {

        ShapeableImageView profileImage, edit, delete;
        TextView name, department, number;
        public StudentViewHolder(@NonNull View itemView) {
            super(itemView);

            profileImage = itemView.findViewById(R.id.proImg);
            edit = itemView.findViewById(R.id.edit);
            delete = itemView.findViewById(R.id.delete);
            name = itemView.findViewById(R.id.nameTv);
            department = itemView.findViewById(R.id.departmentTV);
            number = itemView.findViewById(R.id.phoneNumTv);
        }
    }
}