답변:
android:inputType="number"
XML 속성을 생각 합니다.
android:inputType="phone"
대신 사용할 수 있습니다 . 그러나 조금 더 "바쁘다".
예를 들면 다음과 같습니다.
<EditText
android:id="@+id/myNumber"
android:digits="0123456789."
android:inputType="numberDecimal"
/>
0123456789.
하지0123456780.
숫자 만 입력 사용을 위해 android:inputType="numberPassword"
함께 editText.setTransformationMethod(null);
수의 자동 숨기기를 제거합니다.
또는
android:inputType="phone"
숫자 입력 만하면이 두 가지 방법 이보다 좋습니다 android:inputType="number"
. inputType으로 "number"를 언급 할 경우 키보드로 문자를 전환 할 수 있고 다른 특수 문자도 입력 할 수 있습니다. 키보드에 숫자 만 표시되므로 "numberPassword"inputType에는 이러한 문제가 없습니다. 키보드를 사용하여 문자로 전환 할 수 없으므로 "phone"inputType도 작동합니다. 그러나 여전히 +, /, N 등과 같은 특수 문자를 입력 할 수 있습니다.
로이드 : inputType = "numberPassword" 와 editText.setTransformationMethod (NULL);
inputType = "phone"
inputType = "number"
android:inputType="numberPassword"
함께editText.setTransformationMethod(null);
android:inputType="numberDecimal"
<EditText
android:id="@+id/age"
android:numeric="integer"
/>
아래를 사용하면 문제를 더 잘 해결할 수 있습니다.
xml에서 :
<EditText
android:id="@+id/age"
android:inputType="numberDecimal|numberSigned" />
또는 // etfield.addtextchangelistener 내부의 활동
private String blockCharacterSet="+(/)N,*;#";//declare globally
try {
for (int i = 0; i < s.length(); i++) {
if (blockCharacterSet.contains(s.charAt(i) + "")) {
String corrected_settempvalue = arrivalsettemp.substring(0, arrivalsettemp.length() - 1);
et_ArrivalSetTemp.setText(corrected_settempvalue);
if (corrected_settempvalue.length() != 0)
et_ArrivalSetTemp.setSelection(corrected_settempvalue.length());
}
}
} catch (Exception d) {
d.printStackTrace();
}
XML로 사용할 수 있습니다
<EditText
android:id="@+id/myNumber"
android:digits="123"
android:inputType="number"
/>
또는,
android:inputType="numberPassword" along with editText.setTransformationMethod(null); to remove auto-hiding of the number.
또는,
android:inputType="phone"
프로그래밍 방식으로
editText.setInputType (InputType.TYPE_CLASS_NUMBER);
TextWatcher가 있는 키보드에서 Enter 키를 눌러야 합니다. 그러나 모든 숫자 키보드 android : inputType = "number"또는 "numberDecimal"또는 "numberPassword"등을 사용하면 사용자가 Enter 키를 누를 때 Enter 키를 잡을 수 없습니다.
나는 android:digits="0123456789\n"
모든 숫자 키보드가 Enter 및 TextWatcher와 함께 작동하기 시작했습니다.
그래서 내 길은 :
android:digits="0123456789\n"
android:inputType="numberPassword"
...을 더한 editText.setTransformationMethod(null)
barmaley와 abhiank에게 감사합니다.
나를 위해 가장 간단한
android:numeric="integer"
이 또한 더 많은 사용자 정의
android:digits="0123456789"