[android] 프로그래밍 방식으로 EditText 숫자 설정
본질적으로 EditText의 숫자 값을 프로그래밍 방식으로 설정하려고합니다. 지금까지 :
weightInput.setInputType(InputType.TYPE_CLASS_PHONE);
weightInput.setKeyListener(DigitsKeyListener.getInstance());
괜찮지 만 소수 자리 (.)도 포함 할 수 있기를 원합니다. 어떤 아이디어?
답변
이 시도:
<EditText
android:inputType="number"
android:digits="0123456789."
/>
코드에서 :
weightInput.setKeyListener(DigitsKeyListener.getInstance("0123456789."));
그러나 사용자는 여러 “.”를 포함 할 수 있습니다. 실수에 대한 JoeyRA 의 답변을 참조하십시오 .
답변
이 시도:
weightInput.setInputType(InputType.TYPE_CLASS_NUMBER);
weightInput.setInputType(InputType.TYPE_NUMBER_FLAG_DECIMAL);
weightInput.setKeyListener(DigitsKeyListener.getInstance(false,true));
public static DigitsKeyListener getInstance (boolean sign, boolean decimal)
지정된 경우 0부터 9까지의 숫자와 빼기 기호 (시작 부분 만) 및 / 또는 소수점 (필드 당 하나만)을 허용하는 DigitsKeyListener를 반환합니다.
이것은 많은 ‘.’에 대한 문제를 해결합니다. EditText에서
답변
답변
IP 주소 입력 용 (여러 점과 숫자)
시험
<EditText
android:id="@+id/ipBox"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/ipAddrHint"
android:inputType="numberDecimal|number"
android:digits="0123456789."
android:textSize="30sp" />