Skip to content

Instantly share code, notes, and snippets.

@ashishkudale
Created May 11, 2018 11:00
Show Gist options
  • Save ashishkudale/56f1956eb7f6b9b22954a329e09b8a86 to your computer and use it in GitHub Desktop.
Save ashishkudale/56f1956eb7f6b9b22954a329e09b8a86 to your computer and use it in GitHub Desktop.
Adapter for subject list
public class SubjectAdapter extends RecyclerView.Adapter<SubjectAdapter.ViewHolder> {
public ArrayList<Subject> subjects;
private Context context;
private LayoutInflater layoutInflater;
public SubjectAdapter(ArrayList<Subject> subjects, Context context) {
this.subjects = subjects;
this.context = context;
this.layoutInflater = LayoutInflater.from(context);
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = layoutInflater.inflate(R.layout.single_subject, parent, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
holder.recyclerView.setAdapter(new ChapterAdapter(context, subjects.get(position).chapters));
holder.recyclerView.setLayoutManager(new LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false));
holder.recyclerView.setHasFixedSize(true);
holder.tvHeading.setText(subjects.get(position).subjectName);
}
@Override
public int getItemCount() {
return subjects.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
RecyclerView recyclerView;
TextView tvHeading;
public ViewHolder(View itemView) {
super(itemView);
recyclerView = (RecyclerView) itemView.findViewById(R.id.rvItems);
tvHeading = (TextView) itemView.findViewById(R.id.tvHeading);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment