按下后恢复计时器
Resume chronometer after back pressed
在我的 android 项目中,我有一个 activity A,其中包含计时器和一个启动按钮,一个停止按钮,一个暂停按钮,一切正常。现在的问题是,当我按下 activity 上的后退按钮时,当我回到那个 activity 时,计时器时间不会从相同的状态恢复。
我已经尝试了很多代码但似乎没有任何效果
Mchronometrer.setbase(Mchronometer.getbase()b-SystemClock.elapsedRealTime());
任何建议或代码都会有所帮助
您必须保存 activity 的状态。检查 this:.
要保存您的状态,请使用:
private static final String CURRENT_TIME="current_time";
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
// Save the current time in millis
savedInstanceState.putLong(CURRENT_TIME, your_time_from_chronometer);
// Always call the superclass so it can save the view hierarchy state
super.onSaveInstanceState(savedInstanceState);
}
并恢复状态
public void onRestoreInstanceState(Bundle savedInstanceState) {
// Always call the superclass so it can restore the view hierarchy
super.onRestoreInstanceState(savedInstanceState);
// Restore the time from saved
mCurrentTime = savedInstanceState.getInt(CURRENT_TIME);
}
这仍然取决于您以何种格式保存时间,但一个不错的选择是以毫秒为单位的时间。
在我的 android 项目中,我有一个 activity A,其中包含计时器和一个启动按钮,一个停止按钮,一个暂停按钮,一切正常。现在的问题是,当我按下 activity 上的后退按钮时,当我回到那个 activity 时,计时器时间不会从相同的状态恢复。 我已经尝试了很多代码但似乎没有任何效果 Mchronometrer.setbase(Mchronometer.getbase()b-SystemClock.elapsedRealTime()); 任何建议或代码都会有所帮助
您必须保存 activity 的状态。检查 this:.
要保存您的状态,请使用:
private static final String CURRENT_TIME="current_time";
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
// Save the current time in millis
savedInstanceState.putLong(CURRENT_TIME, your_time_from_chronometer);
// Always call the superclass so it can save the view hierarchy state
super.onSaveInstanceState(savedInstanceState);
}
并恢复状态
public void onRestoreInstanceState(Bundle savedInstanceState) {
// Always call the superclass so it can restore the view hierarchy
super.onRestoreInstanceState(savedInstanceState);
// Restore the time from saved
mCurrentTime = savedInstanceState.getInt(CURRENT_TIME);
}
这仍然取决于您以何种格式保存时间,但一个不错的选择是以毫秒为单位的时间。