android에서 edittext에 숫자 값만 설정하는 방법은 무엇입니까?


209

나는이이 edittext값을 삽입 할 정수하는 난 단지합니다. 누군가 내가 사용해야 할 재산을 말해 줄 수 있습니까?

답변:


403

android:inputType="number"XML 속성을 생각 합니다.


11
남자, 나는 안드로이드 개발자를 좋아한다 ... 웹 페이지 에서이 옵션을 얻는 소란!
Alex

14
안녕하세요, 안드로이드 2.3.3에서는 "numberSigned"입니다. 누군가가 그것을 찾고있는 경우를 대비하여 여기에 적어
Lemon Juice

편집 텍스트가 대화 상자에 나타나면 .java 코드로만 선언하면 어떻게됩니까? 즉, editText 대화 상자가 XML 파일에 나타나지 않습니다. 여전히 이것을 어떻게 달성 할 수 있습니까?
Sibbs Gambling

1
또한 android:inputType="phone"대신 사용할 수 있습니다 . 그러나 조금 더 "바쁘다".
채드 빙엄

126

예를 들면 다음과 같습니다.

<EditText
android:id="@+id/myNumber"
android:digits="0123456789."
android:inputType="numberDecimal"
/>

3
이것은 최고의 솔루션입니다!
RRTW

2
나는 읽어야 문자열을 믿고있어 0123456789.하지0123456780.
audiFanatic

이것은 android : inputType = "number"에서도 작동합니다! 사용자가 숫자 패드에 연산자, 괄호 등을 입력하지 못하도록하기 위해 필요했습니다. 생명을 구하는 사람 이여! 코스트코에 오신 것을 환영합니다. 사랑해!
gonzobrains

2
이렇게하면 음수를 입력 할 수없고 동시에 중복 소수점을 사용할 수 있습니다. (예 : 1.1.1 .....)
Rushi Ayyappa

android : digits를 추가하면 복사하여 붙여 넣기 사례도 처리 할 수 ​​있습니다.
StoneLam

107

코드에서 할 수있는 일

ed_ins.setInputType(InputType.TYPE_CLASS_NUMBER);

@MohamedKhamis 그것은 EditText의 이름입니다
KERiii

1
Sourabh는 "정수 값만 삽입"을 요청했습니다. 이것은 훨씬 더 입력 할 수 있습니다.
Zon

30

숫자 만 입력 사용을 위해 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 = "numberPassword"

inputType = "phone"

inputType = "phone"

inputType = "number"

inputType = "number"


1
이것은 완벽 해요! android:inputType="numberPassword"함께editText.setTransformationMethod(null);
coderpc

이 팁은 내 응용 프로그램을 완벽하게 만듭니다.
Kernelzero

6
android:inputType="numberDecimal"

5
이것은 훌륭하지만 정수 시스템에는 10 진수가 포함되지 않습니다.
RileyE

@RileyE 이것이 무엇을 의미합니까? 우리는 방금 모든 숫자 입력에 이것을 사용하기 시작했으며 무언가를 놓치지 않도록하고 싶습니다. 감사!
Joshua Pinter


2

아래를 사용하면 문제를 더 잘 해결할 수 있습니다.

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();
            }

2

누구나 imeOptions활성화 와 함께 0에서 9까지의 숫자 만 사용하려면 아래 줄을 사용하십시오.EditText

android : inputType = "number | none"

이것은 숫자 만 허용하며 키보드의 완료 / 다음 버튼을 클릭하면 포커스가 다음 필드로 이동합니다.


0

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);


0

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에게 감사합니다.


0

나는 '13 년의 정답이 무엇인지 모르지만 오늘날은 다음과 같습니다.

myEditText.setKeyListener(DigitsKeyListener.getInstance(null, false, true)); // positive decimal numbers

온 스크린 키보드를 포함한 모든 것이 숫자 키패드입니다.

거의 모든 것. 에스프레소는 무한한 지혜로 typeText("...")필터를 우회하여 쓰레기로 들어갑니다 ...


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.