gpt4 book ai didi

java - 尝试根据选择的单选按钮保存单选组的状态

转载 作者:行者123 更新时间:2023-11-30 04:29:50 24 4
gpt4 key购买 nike

我正在做一个项目,我在几个单选组中有很多单选按钮。我想做的是根据第一个 radio 组中的特定按钮保存所有 radio 组的配置。例如,第一个单选组称为选择,我有 4 个不同的选择单选按钮。当我从该组内的 4 个按钮切换时,我希望其他单选组按钮自动填充到它们以前的按钮,我还想在切换时保存当前按钮的配置广播组。因此,例如,如果第一个单选组中的单选按钮被切换,它会记住前一个单选按钮的配置,并在返回到该 View 时自动再次加载。

最佳答案

创建一个模型来模拟所有这些。使用属性更改监听器(或许多其他监听器)允许您监听状态更新。每当您在模型上调用 setter 时,状态都会更新。

例如,当您将外部单选按钮组设置为第二个按钮时,模型可以为所有依赖于该状态的按钮抛出属性更改事件。内部单选按钮状态的 getter 可以取决于外部按钮的状态。

您可能需要在 View 中添加监听器以监听按钮上的用户操作。这些监听器中的操作将调用模型上的 setter 。小心不要以这种方式引起递归事件。

例子:

这是您可以构建的模型示例。假设您有一个包含 2 个按钮的外部单选按钮组和一个包含 3 个按钮的内部按钮组。无论选择何种外部按钮,内部组选项始终相同。

public class Model {
private int outerSelected = 0; // 0 or 1
private InnerModel[] innerModels = new InnerModel[2];

private class InnerModel {
private int selected = 0; // 0, 1, or 2

public void setSelected(int selected) {
this.selected = selected;
// Send event
}

public int getSelected() {
return selected;
}
}

public int getSelectedInnerModel() {
return innerModels[outerSelected];
}

public int setOuterSelected(int outerSelected) {
this.outerSelected = outerSelected;
// send event for selectedInnerModel change
// If you use beans binding, this should cause the view to re-query the
// getSelected on the InnerModel as well
}
}

我不建议您实际使用整数。枚举是一个更好的主意,但我没有写出来。 (可选)您可以使此模型类在您的 View 中是私有(private)的。

关于java - 尝试根据选择的单选按钮保存单选组的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7919636/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com