I have a page that contains a toggle group. The toggle group shall always has one, and only one, toggle on. Every time the page shows up the toggle group will reset its toggle member to default value.
However, I tried to reset its value but it turns out the old value is still there.
Let me try to demonstrate my story…
There is 7 toggles ( means the toggle is on ):
[Whole Hand], Three Fingers, Thumb, Index, Middle, Ring, Little
Then I choose another toggle:
Whole Hand, [Three Fingers], Thumb, Index, Middle, Ring, Little
I switch to another page and come back, it turns out:
[Whole Hand], [Three Fingers], Thumb, Index, Middle, Ring, Little
I checked both toggles, both toggles’ isOn are true.
I did the reset tricks in OnEnable() and here is my code.
fingerGroup.allowSwitchOff = true;
fingerGroup.SetAllTogglesOff ();
switch (PlayerPrefs.GetInt (UserSetting.DefaultSettingField.TrainingFingers)) {
case (int)UserSetting.SettingValue.TrainingFingers.WholeHand:
WholeHand.isOn = true;
FingerDisplayImage.sprite = sp_whole;
break;
case (int)UserSetting.SettingValue.TrainingFingers.ThreeFingers:
ThreeFingers.isOn = true;
FingerDisplayImage.sprite = sp_threeFingers;
break;
case (int)UserSetting.SettingValue.TrainingFingers.Thumb:
Thumb.isOn = true;
FingerDisplayImage.sprite = sp_thumb;
break;
case (int)UserSetting.SettingValue.TrainingFingers.Index:
Index.isOn = true;
FingerDisplayImage.sprite = sp_index;
break;
case (int)UserSetting.SettingValue.TrainingFingers.Middle:
Middle.isOn = true;
FingerDisplayImage.sprite = sp_middle;
break;
case (int)UserSetting.SettingValue.TrainingFingers.Ring:
Ring.isOn = true;
FingerDisplayImage.sprite = sp_ring;
break;
case (int)UserSetting.SettingValue.TrainingFingers.Little:
Little.isOn = true;
FingerDisplayImage.sprite = sp_little;
break;
}
fingerGroup.allowSwitchOff = false;