在 Android 中,每一个 Activity 都有一个返回栈用于管理其启动过的 Fragment。以此,可以实现 Fragment 的回退操作。但是,如果直接使用返回栈,可能会导致数据丢失。这时可以使用 Bundle 对象来保存和恢复数据。
示例代码如下所示:
保存数据:
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putString("key", "value");
}
恢复数据:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (savedInstanceState != null) {
String value = savedInstanceState.getString("key");
// do something with the value
}
}
通过这种方式,即使 Fragment 被销毁,也能保留 Fragment 所需的数据。
上一篇:Android返回栈不会清除
下一篇:Android范围存储和持久文件