【问题标题】:Save the value of a chronometer in android在android中保存计时器的值
【发布时间】:2014-06-29 23:33:40
【问题描述】:

我的应用程序有一个计时器,我想在两种情况下继续运行:更改屏幕方向以及按下后退按钮并退出应用程序。

       chronometer= (Chronometer) rootView.findViewById(R.id.chronometer);
       chronometer.setBase(SystemClock.elapsedRealtime());
       chronometer.start();

我想知道必须用什么方法来放代码,用什么代码来处理与时计相关的一切。

【问题讨论】:

  • 你有没有在你的清单中尝试android:persistent="true"????
  • 也检查一下link..

标签: android android-orientation chronometer


【解决方案1】:

活动开始时:

void onCreate() {
   chronometer = (Chronometer) rootView.findViewById(R.id.chronometer);
   resetAndRun();
]

地点:

void resetAndRun() {
   // reset base time to current
   chronometer.setBase(SystemClock.elapsedRealtime());
   // and start ticking
   chronometer.start();

}

这将启动您的应用程序,并带有一个滴答作响的计时器。

现在,要收听后按(顺便说一句,这不等于 Android 中的应用关闭):

public void onBackPressed() {
  resetAndRun();
  super.onBackPressed();
}

这是一个棘手的问题:后按后屏幕将不再对用户可见,但时钟仍然会滴答作响,下次当活动变得可见时,更新的 将显示计时器值。

聆听和响应屏幕方向需要清单声明:

<activity android:name=".MyActivity"
          android:configChanges="orientation|screenSize"  // <--------------
          android:label="@string/app_name">

还有一个活动回调:

public void onConfigurationChanged(Configuration newConfig) {
   super.onConfigurationChanged(newConfig);
   resetAndRun();
}

希望对你有帮助。

吉拉德

【讨论】:

  • 我觉得我解释得不好。我的应用程序有一个计时器,按下按钮即可启动。要进行更改,例如更改屏幕方向或按后退按钮并退出应用程序,计时器将设置为 0(并停止)。我想知道如何让时钟保持运行并且时间是正确的。 (如果方向改变,改变方向之前的时间是否正确。退出应用程序,将是最标记它退出应用程序的时间)但是,感谢之前的回答。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多