在j2me中为textfield设置onchange监听器

时间:2011-10-24 19:17:47

标签: java-me textfield onchange midp lcdui

是否可以在j2me中为文本字段设置onchange监听器?

1 个答案:

答案 0 :(得分:2)

确定。请使用ItemStateListener

// below assumes that 'form' contains 'textField' which changes you want to listen to
form.setItemStateListener(new ItemStateListener() {
    public itemStateChanged(Item item) {
        if (item != textFiled) {
            return; // ignore other items
        }
        System.out.println("contents: [" + textField.getString() + "]");
    }
});

值得记住的是有关如何根据API文档调用itemStateChanged的详细信息:

  

...当用户...输入或修改TextField中的值...

     

由设备决定何时考虑新值   已进入项目。例如,文本的实现   TextField中的编辑因设备而异。

     

通常,预计不会在之后调用侦听器   每一次改变都是如此。但是,如果项目的值已更改,   将调用侦听器以通知应用程序更改   在调用另一个项目之前和命令之前调用它之前   将传递给Form的CommandListener。对于实现   有一个输入焦点的概念,听众应该被称为否   比焦点远离状态已经过去的项目时要晚   改变。仅当项目的值具有时才应调用侦听器   实际上已经改变了。

     

如果应用程序更改了a的值,则不会调用侦听器   互动项目。