首页 文章

CodenameOne为虚拟键盘设置字段索引

提问于
浏览
1

使用CodenameOne,我有一个用户需要填写的表单 . 但是,所有组件实际上都是代表自定义功能的容器 . 作为一个例子,我会在 Container 上与 Button 一起 TextField ,我会将 Container 用作“ Component ” . 这允许我通过组合现有的 Components 来创建更高级的功能 . 这是必要的一个很好的例子是自定义日期输入字段,其中包含3 TextFieldsTextFieldsComboBoxes 的组合 .

我的"Field"具有Contact Component 的功能 .
ContactsComponent

这全部用作单个"Unit",以便允许用户选择联系人或填写他们自己的联系人 . Buttons 打开 Dialog 弹出窗口等

当用户使用Android键盘时,我会遇到问题 . 如果此联系人 Object 是第二个"Field"并且用户按下Android键盘上的'Next'按钮,则应用程序不知道要关注的字段 . 此外,如果其中一个字段是 ComboBoxButton ,并且用户按下下一个以达到 Component ,则键盘不会't close, and instead removes the '下一个'按钮,将其替换为返回按钮或表情符号选择器 .

以下是一个示例情况:
Form Example

用户将按下第一个字段,键盘显示,当用户按下键时,键盘的下一个按钮消失,因为紧接的下一个字段恰好是 ButtonComboBox .

有没有办法改变聚焦指数,或省略某些领域以这种方式获得关注?我尝试将整个事情变成 Component ,但这并不允许我将其他 Components 组合在一起 . 即使可以使父 ContainerComponent ,我该如何解决这一特定问题?

1 回答

  • 0

    默认行为是使用"next focus down"来实现此功能,因此只需在每个组件上使用 setNextFocusDown(nextTextField) 即可 . 请注意, ComboBox 将无法按预期工作,尽管您可能希望将其更改为 AutoCompleteTextField .

相关问题