如果我有多个radiobutton,并且我想在onResume()事件中恢复它们的状态,我是否需要单独设置每个radiobutton,就像:
KITPrefs = getPreferences(Activity.MODE_PRIVATE);
. . .
radioActive.setSelected(KITPrefs.getBoolean("radioActive", false));
radioFlyer.setSelected(KITPrefs.getBoolean("radioFlyer", false));
radioFreeEurope.setSelected(KITPrefs.getBoolean("radioFreeEurope", false));
…或者是否有一个快捷方式,我可以通过RadioGroup的属性设置一个选择的值?
如果您想检查单个RadioButton,那么您应该调用setChecked(boolean)
而不是setSelected(boolean)
。只要所有的radiobutton都在一个RadioGroup中,并且它们都有id,那么选择一个将取消选择其他设置。
还可以调用RadioGroup.check(id),但是必须存储被检查项的id。如果将id设置为某个常量值,则可以工作,但如果在r.j java中使用生成的id值(值可能会更改),则可能会导致问题。