2010-11-25 3 views

Répondre

16

Utilisez cette méthode dans votre activité:

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

ou

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

ici text01 est id EditText champ dans votre fichier R.java;

Référence:

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

+10

Il serait préférable d'écrire: setInputType (InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL); qui est la même valeur, mais plus claire pour le lecteur – NickT

+0

@NickT :: vous avez raison, c'est pourquoi j'ai donné la référence. –

+2

-1 utilisation de nombres magiques, et supposition qu'il s'agit d'une activité (pourrait être un groupe de vue) – Merlin

0

Vous pouvez également utiliser la fonction setInputType(int type):

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

Peut-être une solution plus agréable serait d'utiliser

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

Edit: Je a également ajouté le drapeau InputType.TYPE_NUMBER_FLAG_DECIMAL pour accepter les dobules aussi.

+1

-1 cela ne fera que l'accepter en entier et non en double. –

+0

+1 pour l'édition – tomrozb

0

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

setRawInputType il correspond à la androïde: attribut inputType.

Questions connexes