-1

我正在使用自定义文本框字段,并尝试使用 setText 以编程方式更改文本...它适用于第一个字段,但不适用于第二个字段...有人可以帮我吗...文本set 被发送到自定义文本框,但编辑 field.settext 仅适用于文本框的第一个实例...

我现在无法发布代码,但会尝试更好地理解 - 我在一页中有 4 个文本框,并在页面中添加了一个关键侦听器。(这是为了便于音译 - 英语到古吉拉特语)我添加了一个 int 值来跟踪哪个字段具有焦点,并使用它来调用适当字段上的 set text 方法。

使用正确的值调用正确的方法,但仍然只有第一个文本框字段的值被重置...我使用调试来跟踪流程,直到执行编辑 field.setText 的位置。

我尝试使用简单的编辑字段而不是自定义字段进行相同的操作,并得到了相同的结果......

当 keylistener 不活动时, setText 会正确执行......所以我很难理解是什么导致了这个问题。将在一天结束前添加 keylistener 代码和任何其他相关代码。

4

2 回答 2

1

请尝试以下代码:

import net.rim.device.api.ui.component.TextField;
import net.rim.device.api.ui.container.MainScreen;

public final class MyScreen extends MainScreen
  {
    TextField tempTextBox;
  public MyScreen()
 {        
    // Set the displayed title of the screen       
    setTitle("MyTitle");
    tempTextBox = new TextField("Titile: ", "Fitst Detail");
    this.add(tempTextBox);

    tempTextBox.setText("Second text");

    tempTextBox.setText("Third Text");

}

}

如果不刷新屏幕,那么你可以设置

invalidate(); 

在 serText 方法之后。

希望帮助满。

于 2012-07-02T11:32:14.580 回答
0

好吧,随着黑莓的死亡,这对任何人都没有帮助,但与此同时,这个问题已经开放了 2 年,所以我决定关闭它:-) 我们通过为单独的 keylisteners 解决了这个问题每个文本框。感谢您的帮助。–

于 2015-03-16T06:37:13.747 回答