When I set The data it says
String enrloment = studentData.get(position).getEnrollments().get(position).getCourse().getTitle();
this line
java.lang.IndexOutOfBoundsException: Index: 2, Size: 1 at java.util.ArrayList.get(ArrayList.java:437)
my app crashed i am using retrofit library for get data
This My Adapter Class
Blockquote
public class StudentAdapter extends RecyclerView.Adapter<StudentAdapter.StudentViewholde> {
private Context context;
private List<StudentInformation>studentData;
public StudentAdapter(Context context, List<StudentInformation> studentData) {
this.context = context;
this.studentData = studentData;
}
public void setStudentData(List<StudentInformation> studentData) {
this.studentData = studentData;
notifyDataSetChanged();
}
@NonNull
@Override
public StudentViewholde onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
LayoutInflater inflater = LayoutInflater.from(context);
View view = inflater.inflate(R.layout.single_raw,parent,false);
return new StudentViewholde(view);
}
@Override
public void onBindViewHolder(@NonNull StudentViewholde holder, int position) {
StudentInformation studentInformation = studentData.get(position);
holder.idTv.setText(studentInformation.getID().toString());
holder.nameTv.setText(studentInformation.getFirstMidName());
holder.enrolmentId.setText(studentInformation.getEnrollments().get(position).getStudentID().toString());
}
@Override
public int getItemCount() {
return studentData.size();
}
class StudentViewholde extends RecyclerView.ViewHolder{
TextView idTv,nameTv,enrolmentId;
public StudentViewholde(@NonNull View itemView) {
super(itemView);
idTv = itemView.findViewById(R.id.idTv);
nameTv = itemView.findViewById(R.id.name);
enrolmentId = itemView.findViewById(R.id.enrollmentDate);
}
}
}
it is my Student Information Pojo class
public class StudentInformation {
@SerializedName("Enrollments")
@Expose
private List<Enrollment> enrollments ;
@SerializedName("ID")
@Expose
private Integer iD;
@SerializedName("LastName")
@Expose
private String lastName;
@SerializedName("FirstMidName")
@Expose
private String firstMidName;
@SerializedName("EnrollmentDate")
@Expose
private String enrollmentDate;
public List<Enrollment> getEnrollments() {
return enrollments;
}
public void setEnrollments(List<Enrollment> enrollments) {
this.enrollments = enrollments;
}
public Integer getID() {
return iD;
}
public void setID(Integer iD) {
this.iD = iD;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getFirstMidName() {
return firstMidName;
}
public void setFirstMidName(String firstMidName) {
this.firstMidName = firstMidName;
}
public String getEnrollmentDate() {
return enrollmentDate;
}
public void setEnrollmentDate(String enrollmentDate) {
this.enrollmentDate = enrollmentDate;
}
}
it is my enrollment pojo class
public class Enrollment {
@SerializedName("Course")
@Expose
private Course course;
@SerializedName("EnrollmentID")
@Expose
private Integer enrollmentID;
@SerializedName("CourseID")
@Expose
private Integer courseID;
@SerializedName("StudentID")
@Expose
private Integer studentID;
@SerializedName("Grade")
@Expose
private Integer grade;
public Course getCourse() {
return course;
}
public void setCourse(Course course) {
this.course = course;
}
public Integer getEnrollmentID() {
return enrollmentID;
}
public void setEnrollmentID(Integer enrollmentID) {
this.enrollmentID = enrollmentID;
}
public Integer getCourseID() {
return courseID;
}
public void setCourseID(Integer courseID) {
this.courseID = courseID;
}
public Integer getStudentID() {
return studentID;
}
public void setStudentID(Integer studentID) {
this.studentID = studentID;
}
public Integer getGrade() {
return grade;
}
public void setGrade(Integer grade) {
this.grade = grade;
}
}