GWT:如何获得所选单选按钮的值

时间:2012-05-24 06:00:48

标签: gwt

我在GWT中创建动态数量的单选按钮

      public void createTestList(ArrayList<Test> result){
    for(int i =0 ; i<result.size();i++){
                    int id = result.get(i).getTestId();
        RadioButton rd = new RadioButton("group", result.get(i).getTestType());
        verticalPanel.add(rd);
    }

其中Test是我的实体类..

我在视图中有4种不同类型的单选按钮,现在,如果我选择任何一个单选按钮,首先我需要获取所选单选按钮的ID,这怎么可能?

其次,我将如何检查多个单选按钮中的哪一个被选中?

谢谢

2 个答案:

答案 0 :(得分:2)

您需要检查每个单选按钮上的公共java.lang.Boolean getValue()是否已选中。

答案 1 :(得分:0)

可以添加点击处理程序并更新所选的单选按钮变量:

choiceItemKind = new VerticalPanel();
ArrayList<String> kinds = new ArrayList<String>();
kinds.add(...);
kinds.add(...);

choiceItemKind.clear();

ClickHandler choiceClickHandler = new ClickHandler()
{
    @Override
    public void onClick(ClickEvent event)
    {
        addItemKindSelectedLabel = ((RadioButton) event.getSource()).getText();
    }
};

for (String label : kinds)
{
    RadioButton radioButton = new RadioButton("kind", label);
    //radioButton.setTitle("Tooltyp");
    if (label.equals(addItemKindSelectedLabel))
        radioButton.setValue(true);
    radioButton.addClickHandler(choiceClickHandler);
    choiceItemKind.add(radioButton);
}
...
addItemKindSelectedLabel = "";
...
if (!addItemKindSelectedLabel.isEmpty())
    ...;

upd:设置选定的radiobutton而不重建:

for (int i = 0; i < choiceItemKind.getWidgetCount(); i++)
{
    RadioButton radioButton = (RadioButton) choiceItemKind.getWidget(i);
    radioButton.setValue(radioButton.getText().equals(addItemKindSelectedLabel));
}