在保持旋转后的碎片状态时,我们可以使用 onSaveInstanceState
方法来保存碎片的状态,并在 onCreateView
方法中恢复状态。
首先,在碎片的类中,我们需要重写 onSaveInstanceState
方法来保存碎片的状态。在该方法中,我们可以使用 Bundle
对象来保存需要保持的数据。
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
// 保存需要保持的数据到 Bundle 对象
outState.putString("key", value);
}
然后,在 onCreateView
方法中,我们可以检查 savedInstanceState
参数是否为空来确定是否需要恢复状态。如果不为空,我们可以使用 savedInstanceState
对象来获取保存的数据,并进行相应的操作。
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_layout, container, false);
// 检查 savedInstanceState 是否为空
if (savedInstanceState != null) {
// 从 savedInstanceState 中获取保存的数据
String value = savedInstanceState.getString("key");
// 进行相应的操作
}
return view;
}
通过以上方法,我们可以在旋转后保持碎片的状态。
下一篇:保持循环的while循环菜单