Java 文本字段未在codenameone上正确更新/重新绘制

Java 文本字段未在codenameone上正确更新/重新绘制,java,codenameone,Java,Codenameone,在Android设备上的Codenameone应用程序中,当使用虚拟键盘获得焦点时,TextFields无法正确更新,我遇到了一个问题 我给TextField一个值(值“0”),并在彼此下面加上倍数。然后我按下一个文本字段,它在那里获得焦点,我输入了一些东西。输入值后,我按虚拟键盘上的“下一步”,下一个TextField(“0”)中的值变为粗体(两个“0”值重叠)。然后,当我按back键清除“0”时,其中一个会消失,当我尝试键入时,如果文本写在“0”值上,则文本会消失 当下一个TextField

在Android设备上的Codenameone应用程序中,当使用虚拟键盘获得焦点时,
TextFields
无法正确更新,我遇到了一个问题

我给
TextField
一个值(值“0”),并在彼此下面加上倍数。然后我按下一个
文本字段
,它在那里获得焦点,我输入了一些东西。输入值后,我按虚拟键盘上的“下一步”,下一个
TextField
(“0”)中的值变为粗体(两个“0”值重叠)。然后,当我按back键清除“0”时,其中一个会消失,当我尝试键入时,如果文本写在“0”值上,则文本会消失

当下一个
TextField
不在屏幕上时,似乎会发生这种情况,并且似乎无法正确更新。当我删除一个“0”并失去对文本字段的关注时,另一个“0”也会消失,这意味着它没有正确刷新。 文本提示也是如此

我使用的测试应用程序:

代码示例

public void start() {
    if(current != null){
        current.show();
        return;
    }
    Form hi = new Form("Hi World");
    hi.addComponent(new Label("Hi World"));
    hi.addComponent(getEntry());
    hi.addComponent(getEntry());
    hi.addComponent(getEntry());
    hi.addComponent(getEntry());
    hi.addComponent(getEntry());
    hi.addComponent(getEntry());
    hi.addComponent(getEntry());
    hi.addComponent(getEntry());
    hi.addComponent(getEntry());
    hi.addComponent(getEntry());
    hi.addComponent(getEntry());
    hi.addComponent(getEntry());
    hi.addComponent(getEntry());
    hi.addComponent(getEntry());
    hi.addComponent(getEntry());
    hi.addComponent(getEntry());
    hi.addComponent(getEntry());
    hi.addComponent(getEntry());
    hi.addComponent(getEntry());
    hi.addComponent(getEntry());
    hi.addComponent(getEntry());
    hi.addComponent(getEntry());
    hi.show();
}

public Container getEntry() {
    Container c = new Container();
    c.setLayout(new BorderLayout());
    Label lbl = new Label("Testing..");

    TextField tf = new TextField();
    tf.setConstraint(TextField.DECIMAL);
    tf.setText("0");
    c.add(BorderLayout.NORTH, lbl);
    c.add(BorderLayout.CENTER, tf);
    return c;

}
屏幕截图

在第一幅图像中,您可以看到粗体文本,实际上是两个“0”值叠加在一起

第二个图像是您按下虚拟键盘上的“后退”按钮以擦除“0”后的图像

第三幅图显示了如果您继续尝试键入内容会发生什么情况

最后,第四幅图像显示了文本字段在失去焦点(按下另一个文本字段)后的样子

更多详细信息

这是在Android设备上复制的,使用版本4.2.2和4.4.2。
这在更小的屏幕上更容易复制;我相信这是由于
文本字段
在屏幕外的bug的性质造成的。

尝试将表单的布局设置为

setLayout(new BoxLayout(BoxLayout.Y_AXIS));
setScrollableY(true);

嗨,在出现这种情况的实际应用程序(不是测试应用程序)中,它确实使用BoxLayout(Y轴)并具有可滚动的true。不幸的是,它仍然有相同的行为。嗨,这仍然没有答案。感谢任何帮助解决过这个问题吗?我现在也有类似的问题。