【发布时间】:2021-05-09 19:49:22
【问题描述】:
我是 java 和 android studio 的新手,在阅读文档后,我仍然对 Activity 生命周期以及如何有效地使用它感到有些困惑。
我正在构建一个包含多个活动的应用程序。首次在主活动中打开应用程序时会加载关键数据。但是,当我移动到另一个活动然后返回主活动时,再次调用 onCreate 是我不想要的。我知道有一种方法可以保存您的 onCreate 实例,但我仍然不确定如何执行此操作。这是我所做的:
@Override
protected void onSaveInstanceState(@NonNull Bundle outState) {
super.onSaveInstanceState(outState);
if (outState != null) {
// Restore value of members from saved state
outState.putString("step_count", String.valueOf(stepCount));
outState.putString("cal_count", String.valueOf(calCount));
outState.putString("dis_count", String.valueOf(disCount));
android.util.Log.d(TAG, "onSaveInstanceState");
} else {
// Probably initialize members with default values for a new instance
}
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
savedInstanceState.getString("step_count", String.valueOf(stepCount));
savedInstanceState.getString("cal_count", String.valueOf(calCount));
savedInstanceState.getString("dis_count", String.valueOf(disCount));
stepCount.setText(String.valueOf(stepCount));
calCount.setText(String.valueOf(calCount));
disCount.setText(String.valueOf(disCount));
android.util.Log.d(TAG, "onRestoreInstanceState");
}
不胜感激任何形式的支持和指导。谢谢。
【问题讨论】:
标签: java android oncreate android-savedstate