【问题标题】:Why is getValue() always returning false?为什么 getValue() 总是返回 false?
【发布时间】:2021-02-28 14:43:42
【问题描述】:

我用 CheckBox 填写了一个列表。此复选框正在页面上显示。然后我会发现复选框是否被选中。但这总是返回 false,即使按下复选框也是如此。但为什么呢?

ArrayList<TutorialAnswerCheckbox> cbList = new ArrayList<>();
cbList.add(new TutorialAnswerCheckbox(false, "Zuweisungsoperatoren"));

这里创建了复选框。

public TutorialAnswerCheckbox(boolean isCorrectAnswer, String text)
{
    this.isCorrectAnswer = isCorrectAnswer;
    setText(text);
    getElement().getStyle().setColor("black");
    getElement().getStyle().setProperty("float", "left");
}

我在这里将框添加到我的 HTMLPanel 到答案 div。

html.add(cbList.get(0), "answer9");

这行得通。然后当用户点击按钮时,我会检查复选框是否被按下。

@UiHandler("abgabe")
void done(ClickEvent e) 
{
    Window.alert(cbList.get(0).isAnswerCorrectly.toString());
    
}

public boolean isAnswerCorrectly()
{
    return this.getValue();
}

但是窗口警报总是假的 即使选中,这也返回 false。

Window.alert(cbList.get(0).isAnswerCorrectly.toString());

【问题讨论】:

  • TutorialAnswerCheckbox 是在哪里定义的?看起来这是您自己的代码的一部分,但未在问题中列出?
  • 我只创建复选框并将它们存储在列表中。但是这个列表中的每个 Checkbox 都会被 getValue() 返回 false,即使它被选中了
  • 请添加更多关于 TutorialAnswerCheckbox 的代码,以便更好地了解发生了什么

标签: checkbox gwt


【解决方案1】:

你必须设置 fireEvents checkbox.setValue(value, fireEvents);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多