EditText로 입력을 받을 때 숫자만 입력 받고 문자가 포함되었을 경우 다시 
입력받도록 하기위한 간단한 코드이다.
xml layout이 다음과 같을 경우 
inputType="number"로하면 오직 양의 정수만 입력 가능하다. 
키보드에 특수 문자나 +, -, 소수점이 표시되더라도 오직 양의 정수만 입력
가능하다.
그리고 maxLength="4"로하면 4개의 숫자만 입력이 가능하다.
xml layout 파일을 아래와 같이 설정함을 통해서 숫자만 입력되도록 할수 있다.
    <EditText 
        android:id="@+id/editPhoneNum"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/txtPhoneNum"
        android:inputType="number"
        android:maxLength="4"
        android:textSize="40sp"/>
xml layout을 이용하거나 혹은 소스 상에서 체크할려면 다음과 같이 하는 방법도 
가능하다.
	EditText editPhone = (EditText)findViewById(R.id.editPhoneNum);
	try {
		String str = editPhone.getText().toString().trim();
		//아래 str에 숫자만 있을 경우는 NumberFormatException이 
                //발생치 않으나 숫자 이외의 어떤 문자가 포함되면 
                //NumberFormatException이 발생한다.
		//따라서 이 Exception이 발생하면 숫자 이외의 값이 입력되었다고 
                //판단하고 재 입력 받도록 처리하면된다.
		int rt = Integer.parseInt(str);
		Toast.makeText(this, "RT : "+rt, 1).show();
	} catch(NumberFormatException e){
		Toast.makeText(this, "숫자만 입력하세요", 1).show();
	}
한 마디로
Integer.parseInt()를 이용하되 NumberFormatException을 이용해서 
처리할 수 있다.
'Android' 카테고리의 다른 글
| Thread 안에서 Thread를 사용할 경우 오류 문제 해법 (0) | 2015.10.14 | 
|---|---|
| 안드로이드 WebView의 lodaData() 에서 한글 깨짐 방지 (0) | 2015.10.14 | 
| adb 명령으로 디바이스에 설치된 apk 삭제하는 법 (0) | 2015.10.02 | 
| 앱의 설치 위치 지정하기(내장 메모리, 외장 메모리) (0) | 2015.10.02 | 
| Android Context에 대한 이해 (1) | 2015.10.02 |