我的应用程序具有在屏幕上列出固定数量的产品(例如5)的功能。
int max=5;
//when the next button is clicked
if(start<=items)
{
start=start+max;
}
//when the previous button is clicked
start=start-max;
for(int i=start;i<=start+max;i++)
{
//list products process
}
可以有3个或17个或者可能是26个产品。但算法的设计使其必须经过5的倍数。对于17个产品加载20个产品,这可能会使应用程序崩溃。我的问题是“有没有办法可以避免额外的产品加载”?
答案 0 :(得分:1)
只需更改上限:
for(int i=start;i<=start+max;i++)
{
//list products process
}
从start + max
到min(start + max , item_count - 1)
,其中项目数是项目总数。如果使用具有基于0的数组索引的语言,则仅需要-1。