【问题标题】:ObjectChoicefield in blackberry黑莓中的 ObjectChoicefield
【发布时间】:2011-05-16 10:44:52
【问题描述】:

我有一个对象选择字段,其中包含“是”和“否”选项。 当用户选择任何一个选项时,我想处理事件。

例如,当用户选择“是”时,我希望将 labelField 添加到屏幕上。 and when No is selected this label should be removed from the screen

请帮忙

【问题讨论】:

  • 请记住接受您认为有用的答案;并在您需要更多信息的地方提供 cmets。如果您不尽快开始这样做,人们将停止尝试回答您的问题。

标签: blackberry


【解决方案1】:

我认为您可以通过实现 FieldChangeListener 接口并覆盖 fieldChanged 事件来做到这一点。

【讨论】:

    【解决方案2】:

    在您的窗口类中,实现 FieldChangeLIsener。

    objectChoiceField.setChangeListener(this)
    

    我建议您标记要添加/删除标签的位置的索引,以便在 fieldChanged 事件中您可以更轻松地做您想做的事情,而不会冒使用无效索引的风险:

    if (selectedIndex == 0) { // Yes
        if (!labelField.hasManager()) { 
            // If the field is not already present, add it to the screen. 
            insert(labelField, positionToInsertField); 
        } 
    } else {  // No
        if (labelField.hasManager()) { 
            // Our field is currently on the screen - let's remove it now. 
            remove(labelField); 
        } 
    }
    

    您可以在下面的代码中找到一个非常相似的行为示例:

    http://svn.bbssh.org/trunk/BBSSH/src/org/bbssh/screens/ConnectionPropertiesScreen.java

    查找从 fieldChangeListener 调用的函数“handleFontTypeChange”。在那里,您将看到我们如何根据当前选择(在本例中为 truetype 字体与位图字体)动态添加和删除控件。

    【讨论】:

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