是否可以在 j2me 中为文本字段设置 onchange 侦听器?
问问题
1633 次
1 回答
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() + "]");
}
});
值得牢记的是如何itemStateChanged
根据 API 文档调用的详细信息:
...当用户...输入或修改 TextField 中的值...
由设备决定何时认为已将新值输入到项目中。例如,TextField 中文本编辑的实现因设备而异。
通常,不期望在每次更改后都会调用侦听器。但是,如果项目的值已更改,则将调用侦听器以通知应用程序更改,然后再调用另一个项目的更改,以及将命令传递到表单的 CommandListener。对于具有输入焦点概念的实现,应在焦点从状态已更改的项目移开时调用侦听器。仅当项目的值实际已更改时,才应调用侦听器。
如果应用程序更改交互项的值,则不会调用侦听器。
于 2011-10-24T20:24:54.137 回答