未在“创建视图”上正确检查切换

时间:2016-01-17 12:42:22

标签: android android-fragments switch-statement

我在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”被发送回主要活动......

这怎么可能发生? 感谢。

1 个答案:

答案 0 :(得分:0)

好的,到目前为止我只发现了这个伎俩:

onCreateView()

中的

realSwitchState=mListener.isShowLabelChecked();
onResume()

中的

switch_show_label.setChecked(realSwitchState);

但应该有一个更好的解决方案,不应该吗?