반응형
EditText가 숫자 만 받아들이도록 강제하는 방법은 무엇입니까?
EditText가 숫자 만 받아들이도록 강제하는 방법.?
android:inputType="number"
레이아웃 XML에서 사용
이것은 또한 잘 작동합니다.
android:digits="0123456789"
또는 다음을 추가 할 수 있습니다.
yourEditText.setInputType(InputType.TYPE_CLASS_NUMBER |
InputType.TYPE_NUMBER_FLAG_DECIMAL |
InputType.TYPE_NUMBER_FLAG_SIGNED);
이것은 숫자, 부동 소수점 숫자 및 음수를 허용하며 필요에 따라 이들 중 하나를 제거 할 수 있습니다.
android:inputType="number"
XML 파일에서 사용할 수 있습니다 . numberDecimal 과 같은 다른 값도 지정할 수 있습니다 .
또한 android:singleLine="true"
한 줄 에 사용할 수도 있습니다 Edittext
.
또한 android:numeric
및 android:maxLength
. 특히 maxLength는 길이 제한을 설정하는 데 유용 할 수 있습니다.
이것이 최종 솔루션입니다.
public static void enforceEditTextUseNumberOnly(EditText field) {
Typeface existingTypeface = field.getTypeface();
field.setInputType((InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_VARIATION_PASSWORD));
field.setTransformationMethod(new NumericKeyBoardTransformationMethod());
field.setTypeface(existingTypeface);
if (field.getParent().getParent() instanceof TextInputLayout) {
((TextInputLayout) field.getParent().getParent()).setPasswordVisibilityToggleEnabled(false);
}
}
private static class NumericKeyBoardTransformationMethod extends PasswordTransformationMethod {
@Override
public CharSequence getTransformation(CharSequence source, View view) {
return source;
}
}
참조 URL : https://stackoverflow.com/questions/9334314/how-to-force-edittext-to-accept-only-numbers
반응형
'programing tip' 카테고리의 다른 글
퍼티를 사용할 때 vim에 붙여 넣는 방법 (0) | 2020.12.28 |
---|---|
UITableView 스크롤링 감지 (0) | 2020.12.28 |
PHP mysql 삽입 날짜 형식 (0) | 2020.12.28 |
C # RSA 암호화 / 복호화 (전송 포함) (0) | 2020.12.28 |
Android 재정의 onBackPressed () (0) | 2020.12.28 |