在 ListView 中限制项目
Limit Item in ListView
我有一个包含 X 项的 ArrayList。在我的自定义 ListView 适配器中,我已将 getItemCount() 设置为仅 return 100 个项目。当我 运行 我的应用程序时,会呈现列表视图,但是,当我滚动传递索引 75 处的项目时,它会给我这样的错误
java.lang.IndexOutOfBoundsException: Index: 75, Size: 75
我假设发生这种情况是因为 ArrayList 只有 75 个项目。我不能 return list.size() 因为大小总是在变化,它可能多于或少于 100,但我只需要显示 <= 100 个项目。
有人可以建议我如何解决这个问题吗?
试试这个 getCount()
@Override
public int getCount(){
return items.length() < 100 ? items.length() : 100;
}
因为您已经明确地将 getCount()
设置为 return
100,现在如果 ArrayList
中没有 100 个项目,它会提高 IndexOutOfBoundsException
,因为系统将尝试从 List
没有的
中获取 100 个项目
所以,不是 return 总是 100,而是 return 100 仅当 List
中的项目超过 100 时。
我有一个包含 X 项的 ArrayList。在我的自定义 ListView 适配器中,我已将 getItemCount() 设置为仅 return 100 个项目。当我 运行 我的应用程序时,会呈现列表视图,但是,当我滚动传递索引 75 处的项目时,它会给我这样的错误
java.lang.IndexOutOfBoundsException: Index: 75, Size: 75
我假设发生这种情况是因为 ArrayList 只有 75 个项目。我不能 return list.size() 因为大小总是在变化,它可能多于或少于 100,但我只需要显示 <= 100 个项目。
有人可以建议我如何解决这个问题吗?
试试这个 getCount()
@Override
public int getCount(){
return items.length() < 100 ? items.length() : 100;
}
因为您已经明确地将 getCount()
设置为 return
100,现在如果 ArrayList
中没有 100 个项目,它会提高 IndexOutOfBoundsException
,因为系统将尝试从 List
没有的
所以,不是 return 总是 100,而是 return 100 仅当 List
中的项目超过 100 时。