2

我有一个TextField.PhoneNumber但我想过滤掉“+”字符。换句话说,我需要一个新的 TextField 约束。有没有办法用 TextField 定义一个新的约束?

如何防止按键在 midp 内在手机上循环?

4

1 回答 1

1

它可能不是你真正想要的。但是,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));
        }
    }
}
于 2010-02-19T14:07:12.093 回答