생각자유의 안드로이드 이야기

InputFilter EditeText에서 영문만 입력받기 본문

Android

InputFilter EditeText에서 영문만 입력받기

생각자유 2015. 9. 14. 11:26
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

소소하게 Youtube채널을 개설하였습니다.

좋아요 및 구독 부탁드리겠습니다. (곧 안드로이드 관련 많은 자료들을 올릴 예정입니다.)

https://www.youtube.com/channel/UCwgElJMunsiDF8P2UOzjx2g/

가끔 안드로이드 개발을 하다 보면 입력창(EditText)에 특정 InputType만 입력을 받아야 할때가 있습니다.

예를들어 가장 많이 하는 회원가입에 경우 ID입력시 보통 영문/숫자만 입력을 받도록 하는 경우가 대부분일때 즉 한글이 입력이 안되도록 해야 합니다.

그럼 어떻게 해야 할까요?

바로 

InputFilter

요놈을 사용하면 됩니다.


Class Overview


InputFilters can be attached to Editables to constrain the changes that can be made to them.


일단 이 함수의 경우 Length단위로 움직이며 각 문자의 변경시 도움을 주는 함수 입니다.


대충 영문과 숫자만 입력을 받는사용법을 보면


public InputFilter inputFilter = new InputFilter() {
@Override
public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
Pattern ps = Pattern.compile("^[a-zA-Z0-9]*$");
if( !ps.matcher(source).matches() ){
return "";
}
return null;
}

};

요렇게 작성하면 됩니다. Pattern을 만들어서 Valid유무만 확인하면 됩니다.

'Android' 카테고리의 다른 글

android:scaleType  (0) 2015.12.28
webview 사용시 한글이 꺠질때  (0) 2015.09.16
Android Studio 1.4 Beta 3 Available  (0) 2015.09.14
Android Studio 1.4 Beta 2 Available  (0) 2015.09.02
GSON 배열 파싱 (JSON Array)  (0) 2015.08.05
Comments