我想尝试在Android中获取多个共享偏好值的平均值,但我似乎无法让它发挥作用。
以下代码是"假设"计算平均值:
if(amountOfMphValues > 1)
{
for(int i = 0; prefs.getInt(MPH_VALUE + i, 0) != 0; i++)
{
averageMphArray.add(prefs.getInt(MPH_VALUE + i, 0));
}
Iterator<Integer> iterator = averageMphArray.iterator();
int averageValue = 0;
while(iterator.hasNext())
{
averageValue = averageValue + iterator.next().intValue();
}
if(averageMphArray.size() > 0)
{
saveUserPrefs(AVERAGE_MPH, averageValue / averageMphArray.size());
}
}
求助:
好的,我得到了它的工作。在for循环中,i变量需要从1开始而不是0,因为我的共享偏好从1开始。
需要它的人的固定版本:
for(int i = 1; prefs.getInt(MPH_VALUE + i, 0) != 0; i++)
{
averageMphArray.add(prefs.getInt(MPH_VALUE + i, 0));
}