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

时间:2016-09-22 08:17:54

标签: codenameone

使用CodenameOne, 我有一个用户需要填写的表单。但是,所有组件实际上都是代表自定义功能的容器。例如,TextField旁边有一个ButtonContainer Container,我会将Component用作" Components& #34 ;.这允许我通过组合现有的TextFields来创建更高级的功能。 必要的一个很好的例子是自定义日期输入字段,其中包含3个TextFieldsComboBoxesComponent的组合。

我有一个" Field"具有联系人Buttons功能的功能。 ContactsComponent

这一切都是单个"单位"为了让用户选择联系人或填写自己的联系人。 Dialog打开Object弹出广告等

当用户使用Android键盘时,我会遇到问题。这个联系人ComboBox应该是第二个" Field"并且用户按下'下一步' Android键盘上的按钮,App不知道要给焦点的是哪个字段。 此外,如果其中一个字段是ButtonComponent,并且用户按下该字段即可到达Button,则键盘不会关闭,而是删除&# 39;接着'按钮,用返回按钮或表情符号选择器替换它。

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

用户将按下第一个字段,键盘显示,当用户按下键时,键盘的下一个按钮消失,因为紧接的下一个字段恰好是ComboBox或{ {1}}。

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

1 个答案:

答案 0 :(得分:0)

默认行为是使用“下一个焦点向下”来实现此功能,因此只需在每个组件上使用setNextFocusDown(nextTextField)即可。请注意,ComboBox无法按预期工作,但您可能希望将其更改为AutoCompleteTextField