是否可以在j2me中为文本字段设置onchange监听器?
答案 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的值,则不会调用侦听器 互动项目。