내가 사용자가 6 개 문자를 입력 할 수있는 텍스트를 편집을하고 자동으로 내가 수동으로 대시를 입력하거나에서 사용자를 제한 할 안드로이드 제한 글고 문자
3 자 사이 4에 대시를 추가 입력 다른 특별한 편집 텍스트에 문자와 나는이 아래했을 :
안드로이드 : 숫자 = "abcdefghijklmnopqrstuvwxyz1234567890"
이 작동하지만 난 수동 textchange 리스너를 통해 대시를 추가 할 때, 그것은 물론 나던의 추가합니다.
안드로이드 : 자리 = "abcdefghijklmnopqrstuvwxyz1234567890-"
물론 사용자가 이제 대시를 입력 할 수 있습니다
그래서 나는 위의 제한 사항에 대한 대시를 추가!
사용자가 프로그래밍 방식으로 editText에 추가 할 수 있도록 허용하면서 어떻게 대시를 입력하지 못하도록 제한 할 수 있습니까? 당신이 대시를 추가하기 전에 허용 된 숫자를 변경하고 다시 후에 변경할 때 텍스트 변경 리스너
@Override
public void onTextChanged(CharSequence text, int start, int before,
int count) {
// add dash when user enters 4th character
if (text.length() == 4 && text.length() > before) {
text = (text.subSequence(0, 3) + "-" + text.charAt(count - 1));
int pos = text.length();
editText.setText(text);
editText.setSelection(pos);
} else if (text.length() == 4 && text.length() < before) {
// delete dash when user presses back
editText.setText(text.subSequence(0, 3));
editText.setSelection(text.length() - 1);
}
}
사용이 다른 글고, 그리고 당신은 또한 inputfilter을 사용할 수 있습니다 – njzk2
2 사이에있는 대시와 텍스트 뷰를 넣어. – njzk2