2010-11-25 2 views

ответ

16

Используйте этот метод в своей деятельности:

EditText et = (EditText) findViewById(R.id.text01); 
et.setInputType(0x00002002); 

или

EditText et = (EditText) findViewById(R.id.text01) ; 
et.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL); 

здесь text01 является идентификатор EditText поля в файле R.java;

Ссылка:

http://developer.android.com/reference/android/widget/TextView.html#attr_android:inputType

+10

Было бы лучше написать стиль: setInputType (InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL); который является одним и тем же значением, но более ясным для читателя. – NickT 2010-11-25 11:20:48

+0

@NickT :: вы правы, поэтому я дал ссылку. – 2010-11-25 11:24:35

0

Вы можете также использовать setInputType(int type) функцию:

EditText e 
e.setInputType(InputType.Number) //Many other options are also available 
4

Может быть, лучше решение будет с помощью

et.setInputType(InputType.TYPE_CLASS_NUMBER 
         | InputType.TYPE_NUMBER_FLAG_DECIMAL); 

Edit: У меня естьтакже добавил флаг InputType.TYPE_NUMBER_FLAG_DECIMAL, чтобы принять dobules тоже.

0

et.setRawInputType (InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);

где setRawInputType это соответствует андроида: inputType атрибут.

Смежные вопросы