asistencia/attendance-ubb/src/main/java/cl/cromer/ubb/attendance/SubjectListAdapter.java

96 lines
3.3 KiB
Java

package cl.cromer.ubb.attendance;
import android.support.v7.widget.CardView;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import java.util.List;
public class SubjectListAdapter extends RecyclerView.Adapter<SubjectListAdapter.SubjectViewHolder> {
private List<Subject> subjects;
public SubjectListAdapter(List<Subject> subjects) {
this.subjects = subjects;
}
@Override
public int getItemCount() {
return subjects.size();
}
@Override
public SubjectViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.view_subject_list_card, viewGroup, false);
return new SubjectViewHolder(view);
}
@Override
public void onBindViewHolder(SubjectViewHolder subjectViewHolder, int i) {
subjectViewHolder.majorName.setText(subjects.get(i).getMajorName());
subjectViewHolder.majorCode.setText(String.valueOf(subjects.get(i).getMajorCode()));
subjectViewHolder.majorId.setText(String.valueOf(subjects.get(i).getMajorId()));
subjectViewHolder.subjectName.setText(subjects.get(i).getSubjectName());
subjectViewHolder.subjectCode.setText(String.valueOf(subjects.get(i).getSubjectCode()));
subjectViewHolder.subjectId.setText(String.valueOf(subjects.get(i).getSubjectId()));
subjectViewHolder.itemView.setLongClickable(true);
}
@Override
public void onAttachedToRecyclerView(RecyclerView recyclerView) {
super.onAttachedToRecyclerView(recyclerView);
}
public void addSubject(Subject subject) {
subjects.add(getItemCount(), subject);
notifyItemInserted(getItemCount());
}
public void updateSubject(int index, Subject subject) {
subjects.set(index, subject);
notifyItemChanged(index);
}
public boolean hasSubject(Subject subject) {
for (int i = 0; i < subjects.size(); i++) {
if (subjects.get(i).getSubjectId() == subject.getSubjectId()) {
return true;
}
}
return false;
}
public Subject getSubject(int index) {
return subjects.get(index);
}
public void deleteSubject(Subject subject) {
subjects.remove(subject);
}
public static class SubjectViewHolder extends RecyclerView.ViewHolder {
public CardView cardView;
public TextView majorName;
public TextView majorCode;
public TextView majorId;
public TextView subjectName;
public TextView subjectCode;
public TextView subjectId;
public SubjectViewHolder(View itemView) {
super(itemView);
cardView = (CardView) itemView.findViewById(R.id.subject_card_view);
majorName = (TextView) itemView.findViewById(R.id.major_name);
majorCode = (TextView) itemView.findViewById(R.id.major_code);
majorId = (TextView) itemView.findViewById(R.id.major_id);
subjectName = (TextView) itemView.findViewById(R.id.subject_name);
subjectCode = (TextView) itemView.findViewById(R.id.subject_code);
subjectId = (TextView) itemView.findViewById(R.id.subject_id);
}
}
}