안드로이드 개발 정보
(글 수 1,064)
안녕하세요.
가끔 EditTextPreference 에서 숫자만 입력 받아야 하는 경우가 있지요.
아래와 같이 쉽게 되더군요.
xml 의 내용
<EditTextPreference
android:key="temp_high_preference"
android:title="@string/temp_high_title"
android:summary="@string/temp_high_summary"
android:dialogTitle="@string/temp_high_title" />
클래스 선언부에 아래와 같이
멤버변수를 선언했다고 할때,
public static final String KEY_TEMP_HIGH = "temp_high_preference";
private EditTextPreference mTempHigh;
onCreate() 에서
mTempHigh = (EditTextPreference)getPreferenceScreen().findPreference(KEY_TEMP_HIGH);
EditText myEditText = (EditText)mTempHigh.getEditText();
myEditText.setKeyListener(DigitsKeyListener.getInstance(false,true));
핵심은 위 마지막 문장이랍니다.
수고하세요
가끔 EditTextPreference 에서 숫자만 입력 받아야 하는 경우가 있지요.
아래와 같이 쉽게 되더군요.
xml 의 내용
<EditTextPreference
android:key="temp_high_preference"
android:title="@string/temp_high_title"
android:summary="@string/temp_high_summary"
android:dialogTitle="@string/temp_high_title" />
클래스 선언부에 아래와 같이
멤버변수를 선언했다고 할때,
public static final String KEY_TEMP_HIGH = "temp_high_preference";
private EditTextPreference mTempHigh;
onCreate() 에서
mTempHigh = (EditTextPreference)getPreferenceScreen().findPreference(KEY_TEMP_HIGH);
EditText myEditText = (EditText)mTempHigh.getEditText();
myEditText.setKeyListener(DigitsKeyListener.getInstance(false,true));
핵심은 위 마지막 문장이랍니다.
수고하세요
EditTextPreference xml에서 아래 한줄만 추가 해주면 되는 간단한 방법도 있습니다 참고하세요~
android:inputType="phone"
<수정 전>
<EditTextPreference
android:key="temp_high_preference"
android:title="@string/temp_high_title"
android:summary="@string/temp_high_summary"
android:dialogTitle="@string/temp_high_title" />
<수정 후>
<EditTextPreference
--> android:inputType="phone"
android:key="temp_high_preference"
android:title="@string/temp_high_title"
android:summary="@string/temp_high_summary"
android:dialogTitle="@string/temp_high_title" />