【发布时间】:2017-04-02 11:51:27
【问题描述】:
如果标题与请求不一致,我很抱歉,但那是我当时能想到的最好的。
所以我有一个以对象为参数的 ArrayList。
private List<Movement> walked = new ArrayList<>();
注意:运动是类的名称 我有一个方法可以计算两个时间字符串之间的时间差,效果很好。
我的困境是当我单击一个按钮时,一个对象被添加到 ArrayList。我想知道这个新点击和下一次点击之间的持续时间作为记录这两个动作的时间。
我正在我的 onClickListener 中做这样的事情
Movement move = new move();
move.setTime("current time");
walked.add(move);
因此,根据点击次数,我希望能够获取列表中的对象,获取它们各自的时间并计算每个对象的时间差,并在我点击时输出。
我的时间计算函数工作我只是无法正确迭代。这是我尝试过的;
for(Movement x:walked){
Toast(TimeCal.getDuration(x.getTime(), "i'm to put the previous object time here") + " min(s)");
}
任何帮助将不胜感激。
【问题讨论】:
-
for(int i = 1; i < walked.size(); i++){ Movement current = walked.get(i); Movement prev = walked.get(i-1); Toast(TimeCal.getDuration(current.getTime(), prev.getTime()) + " min(s)") } -
您想要做的是单击一个按钮,每次单击时都想显示自上次单击以来经过了多少时间?如果是这种情况,您是否需要历史记录或点击次数进行统计或类似的东西,或者您可以只使用最后一次点击然后丢弃它吗?
-
正是@palako,我真的不需要点击统计信息。时差是最重要的。谢谢
-
@Shark,我得到 ArrayIndexOutOfBoundsException:
-
@shark 使用您的代码让它工作。谢谢,您能否将其发布为答案,以便我给予您适当的信任。谢谢。
标签: java android arraylist iterator