package com.tevinjeffrey.rutgersct.ui.trackedsections; 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.Section; import java.util.List; public class TrackedSectionsFragmentAdapter extends RecyclerView.Adapter<TrackedSectionVH> { private final List<Section> sectionList; private final ItemClickListener<Section, View> itemClickListener; public TrackedSectionsFragmentAdapter(List<Section> sectionList, @NonNull ItemClickListener<Section, View> listener) { this.sectionList = sectionList; this.itemClickListener = listener; setHasStableIds(true); } @Override public TrackedSectionVH onCreateViewHolder(ViewGroup viewGroup, int viewType) { final Context context = viewGroup.getContext(); final View parent = LayoutInflater.from(context).inflate(R.layout.section_layout_with_title, viewGroup, false); return TrackedSectionVH.newInstance(parent); } @Override public void onBindViewHolder(final TrackedSectionVH holder, int position) { final Section section = sectionList.get(position); holder.setCourseTitle(section.getCourse()); holder.setOpenStatus(section); holder.setSectionNumber(section); holder.setInstructors(section); holder.setTimes(section); holder.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { itemClickListener.onItemClicked(section, v); } }); } @Override public long getItemId(int position) { return Long.valueOf(sectionList.get(position).getIndex()); } @Override public int getItemCount() { return sectionList.size(); } }