나는 모든 언어의 알파벳과 숫자 만 허용하려는 EditText가 있습니다. 나는 다른 android:inputType
과 android:digits
을 XML로 시도했다. EditText는 알파벳, 모든 언어의 숫자 만 허용합니다.
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
switch (et.getId()) {
case R.id.edtMultiLang: {
et.removeTextChangedListener(watcher2);
et.setText(s.toString().replaceAll("[^[:alpha:]0-9 ]", ""));
// et.setText(s.toString().replaceAll("[^A-Za-z0-9 ]", ""));
et.addTextChangedListener(watcher2);
break;
}
}
}
같다. 그러나 텍스트를 지우려고 할 때마다 커서는 모든 문자에 대해 시작하도록 움직입니다. 나가 단 하나 편지를 맑게 할 때 의미, 시작하기 위하여 움직이는 커서.
android:digits="abcdefghijklmnopqrstuvwxyz1234567890 "
과 같이 사용하면 알파벳과 숫자 만 입력 할 수 있습니다. 다른 언어 텍스트를 입력 할 수 없습니다. 영어와 관련된 알파벳 만 입력 했으므로 여기에 입력하십시오. 하지만 제 요구 사항은 다른 언어의 알파벳과 문자를 복사/붙여 넣기하는 것입니다. Patterns, TextWatcher 및 InputFilter를 사용하여이 작업을 수행 할 수 있기를 바랍니다. 그러나 나는 더 좋은 길을 찾지 못했습니다.
이 작업을 수행 할 방법이 있으면 알려 주시기 바랍니다.
내가 http://stackoverflow.com/questions/41953259에서 해결책을 발견/edittext-cursor-coming-to-for-every-for-clear-text로 시작하지만 텍스트를 붙여 넣을 때 커서는 끝으로 이동합니다. – Srikanth