我重置天文计数值的时候改变了方向,已经写好了是真的,但是没有帮助,求助,出了什么问题?
@Override
protected void onSaveInstanceState(Bundle outState) {
timer = SystemClock.elapsedRealtime() - chronometer.getBase();
outState.putLong("timerValue", timer);
super.onSaveInstanceState(outState);
}
@Override
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.details_layout);
chronometer = (Chronometer) findViewById(R.id.chronometer);
chronometer.setBase(SystemClock.elapsedRealtime());
if (savedInstanceState != null) {
chronometer.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() {
public void onChronometerTick(Chronometer chronometer) {
timer = savedInstanceState.getLong("timerValue");
chronometer.setText(DateFormat.format("mm:ss", timer));
}
});
chronometer.start();
} else {
chronometer.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() {
public void onChronometerTick(Chronometer chronometer) {
timer = SystemClock.elapsedRealtime() - chronometer.getBase();
chronometer.setText(DateFormat.format("mm:ss", timer));
}
});
chronometer.start();
}
}发布于 2016-08-05 11:32:23
注意:每次用户旋转屏幕时,您的活动都将被销毁并重新创建。当屏幕更改方向时,系统会销毁并重新创建前台活动,因为屏幕配置已更改,而您的活动可能需要加载替代资源(如布局)。
请参阅:How to contain value of android chronometer with change in orientation
https://stackoverflow.com/questions/37202062
复制相似问题