我有一个包含X个项目的ArrayList。在我的Custom ListView适配器中,我将getItemCount()设置为仅返回100个项目。当我运行我的应用程序时,将呈现列表视图,但是,当我滚动通过索引75处的项目时,它给我这样的错误
java.lang.IndexOutOfBoundsException:索引:75,大小:75
我认为这是因为ArrayList只有75个项目。我不能返回list.size(),因为大小总是在变化,它可能大于或小于100,但是我只需要显示<= 100个项目。
有人可以建议我如何解决此问题吗?
答案 0 :(得分:3)
以getCount()
的身份尝试
@Override
public int getCount(){
return items.length() < 100 ? items.length() : 100;
}
因为您已将getCount()
明确设置为return
100,现在如果该ArrayList
中没有100个项目,它将提高IndexOutOfBoundsException
,因为系统会尝试从List
中获取100个没有该内容的项目。
因此,与其总是返回100,而仅当该List
中包含100个以上的项目时才返回100。