我有一个TextField.PhoneNumber
但我想过滤掉“+”字符。换句话说,我需要一个新的 TextField 约束。有没有办法用 TextField 定义一个新的约束?
如何防止按键在 midp 内在手机上循环?
它可能不是你真正想要的。但是,MIDP 不支持您想要的更改约束规则。因此,我建议 HACK 用于您的目的。
如何使用 ItemStateListener 检查文本字段是否包含您要过滤掉的字符串,如果该字符串存在,请强制更改文本字段。
代码可能如下所示:
// set item state listener
form.setItemStateListener(this);
// check if text field contains invalid string
// then replace it
public void itemStateChanged(Item item) {
if (item == getTextField()) {
TextField t = (TextField)item;
String s = t.getString();
// + is invalid string
int pos = s.indexOf("+");
if (pos != -1) {
t.setString(s.substring(0, pos) + s.substring(pos + 1));
}
}
}