为了保存片段状态,我想我遇到了两种方法:
- 使用 onSaveInstanceState。
- 使用 Backstack 隐藏、添加和显示片段。
我不确定这两种方法是否都需要,例如 onSaveInstanceState 是专门用于处理旋转更改还是可以使用其中任何一种?
为了保存片段状态,我想我遇到了两种方法:
我不确定这两种方法是否都需要,例如 onSaveInstanceState 是专门用于处理旋转更改还是可以使用其中任何一种?
您可以使用 onSaveInstanceState 保存片段实例。不需要第二种方法。但是,您想在后压上重新创建片段,然后替换片段而不是添加片段。如果你想刷新 Fragment 然后调用 Resume 方法并通过调用你的方法来获取刷新的数据 on Resume
@Override
public void onBackStackChanged() {
FragmentManager fragmentManager = getSupportFragmentManager();
Fragment fr = fragmentManager.findFragmentById(R.id.content_frame);
if (fr != null) {
fr.onResume();
}
}