在我的android项目中,我有一个活动A,其中包含计时器和启动它的按钮,一个停止它的按钮,一个暂停它的按钮,一切正常。现在的问题是,当我按下我的活动上的后退按钮时,当我回到那个活动时,天文台时间不会从相同的状态恢复。 我尝试了许多代码,但似乎没有任何代码可行 Mchronometrer.setbase(Mchronometer.getbase()B-SystemClock.elapsedRealTime()); 任何建议或代码都会有所帮助
答案 0 :(得分:1)
您必须保存活动的状态。检查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);
}
它仍然取决于您节省时间的格式,但一个好的选择是以毫秒为单位使用时间。