나는 TextField.PhoneNumber
이지만 "+"문자는 걸러 내고 싶습니다. 즉, TextField에 대한 새로운 제한 조건이 필요합니다. TextField로 새로운 제약 조건을 정의 할 수있는 방법이 있습니까?MIDP TextField에서 키를 필터링하는 방법?
midp 내의 휴대 전화에서 키 순환을 방지하는 방법은 어떻습니까?
나는 TextField.PhoneNumber
이지만 "+"문자는 걸러 내고 싶습니다. 즉, TextField에 대한 새로운 제한 조건이 필요합니다. TextField로 새로운 제약 조건을 정의 할 수있는 방법이 있습니까?MIDP TextField에서 키를 필터링하는 방법?
midp 내의 휴대 전화에서 키 순환을 방지하는 방법은 어떻습니까?
정말 원하는 것이 아닐 수도 있습니다. 그러나 MIDP는 원하는대로 변경 제한 규칙을 지원하지 않습니다. 그래서, 당신의 목적을 위해 해킹을 제안합니다.
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));
}
}
}
꽤 멋지다. 귀하의 솔루션이 작동합니다. 감사. 그러나 작동하도록 별도의 클래스에서 폼을 확장해야합니다. 이제 나머지 코드는 제대로 작동하지 않습니다. 곧 여기로 돌아올거야. – sk560
는 '+'국가 코드에 대한 표준 접두어 : 아래와 같은
코드가 될 수 보입니다. 왜 그것을 걸러 내고 싶니? – finnw
내 고객은 특별한 요구 사항이 있습니다. 키 순환으로 인해 사용자 속도가 느려지고 있습니다. – sk560