我在Fragment中有一个开关,其状态取决于用户对该片段的操作,还取决于其他片段。 因此,状态在 onCreateView():
中按如下方式加载 switch_show_label = (Switch) view.findViewById(R.id.switch_showlabel);
switch_show_label.setChecked(mListener.isShowLabelChecked());
print("show label is: " + mListener.isShowLabelChecked() + " " + switch_show_label.isChecked());
switch_show_label.setOnCheckedChangeListener(this);
当对应于状态的布尔值在另一个片段中改变时,我可以读取:
SettingsFragment: show label is: true true
然而,开关在视觉上关闭,并且值“false”被发送回主要活动......
这怎么可能发生? 感谢。
答案 0 :(得分:0)
好的,到目前为止我只发现了这个伎俩:
onCreateView() 中的
realSwitchState=mListener.isShowLabelChecked();
onResume() 中的
switch_show_label.setChecked(realSwitchState);
但应该有一个更好的解决方案,不应该吗?