同一个表单中的多个闪烁光标

Multiple blinking cursors in the same Form

我在同一个表单中的所有文本字段中都有多个闪烁的光标。无论我在哪个 TextField 中输入,它们都在闪烁。

它发生在模拟器中,Android、iOS 和 Javascript。

我无法生成测试用例:我所有的测试用例都很好,这个错误行为只出现在我的应用程序中,在更改表单和可编辑状态之后。

你能给我任何提示来理解/调查/解决这个问题吗?

谢谢

更新答案

我的旧答案仅包含一个临时解决方法(field.setCursorBlinkTimeOff(1000 * 3600); 用于所有 TextFields),它有几个问题会造成糟糕的使用体验。

现在我找到了一个合适的解决方案,就是不要重复使用相同的 TextFields (从具有 Leader Component 的 "Container A" 中删除它并将其放入他们在另一个 "Container B" 没有领导者组件)。此问题与 "Container A" 具有领导者组件这一事实有关。

因此,在这种情况下,我的解决方案是从 "Container A" 中删除 TextFields,然后使用如下方法将新的 TextFields 添加到 "Container" B:

private Component replaceWithNewTextField(Component cmp) {
        if (cmp instanceof TextField) {
            // it creates the new TextField
            TextField field = new TextField();
            field.setUIID(cmp.getUIID());
            field.setText(((TextField) cmp).getText());
            field.setName(((TextField) cmp).getName());
            field.setEditable(((TextField) cmp).isEditable());
            ((TextArea) field).setSingleLineTextArea(((TextArea) cmp).isSingleLineTextArea());
            ((TextArea) field).setRows(((TextArea) cmp).getRows());
            ((TextArea) field).setConstraint(((TextArea) cmp).getConstraint());

            etc.