package com.tevinjeffrey.rutgersct.ui.course;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.tevinjeffrey.rutgersct.R;
import com.tevinjeffrey.rutgersct.ui.utils.ItemClickListener;
import com.tevinjeffrey.rutgersct.rutgersapi.model.Course;
import java.util.List;
public class CourseFragmentAdapter extends RecyclerView.Adapter<CourseVH> {
private List<Course> courseList;
private ItemClickListener<Course, View> itemClickListener;
public CourseFragmentAdapter(List<Course> courseList, @NonNull ItemClickListener<Course, View> listener) {
this.courseList = courseList;
this.itemClickListener = listener;
setHasStableIds(true);
}
@Override
public CourseVH onCreateViewHolder(ViewGroup viewGroup, int viewType) {
final Context context = viewGroup.getContext();
final View parent = LayoutInflater.from(context).inflate(R.layout.course_list_item, viewGroup, false);
return CourseVH.newInstance(parent);
}
@Override
public void onBindViewHolder(final CourseVH holder, int position) {
final Course course = courseList.get(position);
holder.setCourseTitle(course);
holder.setSectionsInfo(course);
holder.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
itemClickListener.onItemClicked(course, v);
}
});
}
@Override
public long getItemId(int position) {
return Long.valueOf(courseList.get(position).getCourseNumber());
}
@Override
public int getItemCount() {
return courseList.size();
}
}