我正在创建一个模拟目录。单击按钮时将调用此方法,该方法应在屏幕上显示一个新的学生文件。除非我超出arraylist的范围,否则它会完美地工作。我知道这是一个超出范围的异常,但是我认为我使用if()语句来处理它。为了澄清起见,studentRecord是一个包含String数组的数组列表。这些字符串数组包含学生的姓名,分格,ID等。 这是我的代码:
public void previousStudent(View view){
counter--;
if(counter < 0){counter = studentRecords.size();}
tvID.setText("Student ID: " + studentRecords.get(counter)[0]);
tvName.setText("Student Name: "+ studentRecords.get(counter)[1] + " " + studentRecords.get(counter)[2]);
tvDivision.setText("Division: " + studentRecords.get(counter)[3]);
tvGender.setText("Student Gender: " + studentRecords.get(counter)[4]);
}
答案 0 :(得分:0)
List
的大小不是可用的索引,因为对于List
而言,Array
的索引开始为0。
因此,只有studentRecords.size()-1
可用作最后一个索引,例如。
counter = studentRecords.size() - 1;
要包装在第一个->最后一个之前的循环:请使用这种方式。
或者,您也可以在到达第0
个索引的第一个元素时,禁用“上一个”按钮。