IndexOutOfBoundsException:java.util.ArrayList.get(ArrayList.java:437)处的索引:2,大小:1
当我设置数据时,它会显示 String Enrolment=studentData.get(position).getEnrollments().get(position).getCourse().getTitle() 这条线 java.lang.IndexOutOfBoundsException:索引:2,大小:1位于java.util.ArrayList.get(ArrayList.java:437) 我的应用程序崩溃了我正在使用改装库获取数据 这是我的适配器类 大宗报价 公共类StudentAdapter扩展了RecyclerView.Adapter{IndexOutOfBoundsException:java.util.ArrayList.get(ArrayList.java:437)处的索引:2,大小:1,java,android,android-recyclerview,retrofit,adapter,Java,Android,Android Recyclerview,Retrofit,Adapter,当我设置数据时,它会显示 String Enrolment=studentData.get(position).getEnrollments().get(position).getCourse().getTitle() 这条线 java.lang.IndexOutOfBoundsException:索引:2,大小:1位于java.util.ArrayList.get(ArrayList.java:437) 我的应用程序崩溃了我正在使用改装库获取数据 这是我的适配器类 大宗报价 公共类Studen
}异常表示您试图访问大小为1(大小为1)的列表的第三个元素(索引:2)。出现错误的代码行是:
String enrloment = studentData.get(position).getEnrollments().get(position).getCourse().getTitle();
在这一行中,您尝试使用.get(position)方法访问studentData和注册。您使用的索引是位置,我假设它等于2。因此,问题是学生数据或注册中的元素少于3个。更改此设置
String enrloment = studentData.get(position).getEnrollments().get(position).getCourse().getTitle();
到
ArrayList enrolment=studentData.get(position.getEnrollments())
ArrayList enrolmentData=新建ArrayList();
对于(int i=0;i假设学生信息列表中有5名学生,第3名学生只有2名注册
如果您尝试字符串enrolment=studentData.get(position.getEnrollments().get(position.getCourse().getTitle()
i、 e,String enrolment=studentData.get(2).getEnrolments().get(2).getCourse().getTitle()
问题出在这里。你只有两次注册,第三次注册却没有。希望你收到了
@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;
}
String enrloment = studentData.get(position).getEnrollments().get(position).getCourse().getTitle();
String enrloment = studentData.get(position).getEnrollments().get(position).getCourse().getTitle();
ArrayList<Enrollment> enrloment = studentData.get(position).getEnrollments()
ArrayList<String> enrolmentData = new ArrayList();
for(int i =0;i<enrloment.size();i++){
enrolmentData.add(enrloment.get(i).getCourse().getTitle());
}