SetText不能超过第一个textBox

时间:2012-07-02 10:25:27

标签: blackberry textbox

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

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

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

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

当keylistener不活动时,setText会正确执行... 所以我对导致问题的原因感到难过。 将在日结束时添加keylistener代码和任何其他相关代码。

2 个答案:

答案 0 :(得分: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方法之后。

希望帮助充分。

答案 1 :(得分:0)

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