【问题标题】:Time between two button clicks两次按钮点击之间的时间
【发布时间】:2013-04-03 18:27:24
【问题描述】:

我有两个按钮,我想计算两次点击之间的时间。我知道该怎么做一次:

 Long starttime = System.currentTimeMillis();
 Long endtime = System.currentTimeMillis();
 Long differenz = ((endtime-starttime) / 1000);

现在,我希望在第二次单击时,计数再次从零开始,直到单击第一个按钮。然后,测量第一次和第二次按钮点击之间的时间,依此类推。

也许这是一件非常简单的事情,但我不知道该怎么做......

编辑:好的,我尽量说清楚:

我有按钮 A 和 B。我希望用户交替按下按钮 A 和 B。当用户单击按钮 A 时,我想要一个计时器来测量单击 B 之前的时间。直到这里,我都清楚了。 现在我想要测量点击 B 到点击 A 之间的时间,始终在 A 和 B 之间交替。

我不知道点击B之后要做什么,直到A再次测量时间。

【问题讨论】:

  • 更清楚一点,命名按钮 A 和 B 并详细描述您想要什么。例如,如果单击 A 并再次单击......
  • 如果 A 被单击并再次单击会发生什么?是否有可能,或者您是否在单击 A 后将其禁用,并且仅在单击 B 后再次启用它?
  • 如果再次单击 A,一切都应该停止。不,我不想禁用它!
  • 应该停止是什么意思?开始新的时光?
  • 应该显示一条消息,表明这是错误的。所以时间再次为空,应用程序停止。

标签: java android button time


【解决方案1】:

班级成员

boolean mButtonAClicked;
boolean mButtonBClicked;

long mStartTime = 0;

当按钮 A 被点击时

if (mButtonAClicked)
{
    // button A is clicked again, stop application
}
else
{
    mButtonAClicked = true;
    mButtonBClicked = false;
    if (mStartTime != 0) // Button B was clicked
    {
         Long endtime = System.currentTimeMillis();
         Long differenz = ((endtime-starttime) / 1000);
         mStartTime = System.currentTimeMillis();
    }
}  

当按钮 B 被点击时

if (mButtonBClicked)
{
    // button B is clicked again, stop application
}
else
{
    mButtonBClicked = true;
    mButtonAClicked = false;
    if (mStartTime != 0) // Button A was clicked
    {
         Long endtime = System.currentTimeMillis();
         Long differenz = ((endtime-starttime) / 1000);
         mStartTime = System.currentTimeMillis();
    }
}  

【讨论】:

    【解决方案2】:

    创建一个字段来保存上次按下每个按钮的时间。

    long aMillisPressed;
    long bMillisPressed;
    

    当按钮 A 被点击时:

    aMillisPressed = System.currentTimeMillis();
    long timeElapsedSinceBPressed = aMillisPressed - bMillisPressed;
    

    当点击 B 时:

    bMillisPressed = System.currentTimeMillis();
    long timeElapsedSinceAPressed = bMillisPressed - aMillisPressed;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-09
      • 1970-01-01
      • 1970-01-01
      • 2014-05-26
      • 2012-04-10
      • 1970-01-01
      • 2014-05-01
      • 2019-07-26
      相关资源
      最近更新 更多