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 に答える