【发布时间】:2015-07-12 22:06:06
【问题描述】:
我的Fragments 之一中有几个CheckBox 元素。
每次我离开这个片段时,似乎也没有保存或恢复用户提供的每个片段的选中状态。
在FragmentList 示例中,您可以找到:
CheckBox check1;
boolean active;
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putBoolean("state1", check1.isChecked());
}
以后可以这样使用:
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
if (savedInstanceState != null) {
// Restore last state for checked position.
check1.setChecked(savedInstanceState.getBoolean("state1"));
}
}
但不知何故,CheckBox 元素并没有保存它们的状态。
这是我应该采取的正确方法吗?
【问题讨论】:
-
使用
onRestoreInstanceState()恢复保存状态。 -
仍然没有保存 CheckBox 状态。
-
在里面设置了一个 Toast 之后,我可以注意到它们实际上从未被调用过。
标签: android android-fragments checkbox