2010-12-12 4 views
12

Je veux convertir le type Editable d'un androïde EditText à l'entier de type pour effectuer des opérations mathématiques sur un certain nombre d'entrée utilisateurConversion de éditable en int dans Android

J'ai essayé les éléments suivants:

int x=(int)R2.getText().toString(); 

mais il me donne une erreur de ne peut pas convertir une chaîne en int.

Répondre

4

Essayez Integer.ParseInteger(R2.getText())

+0

lol, je viens de l'écrire et rafraîchi le poste et j'ai trouvé que vous avez écrit la même chose :) – sherif

+0

C'était quelque chose que je savais, ce n » t arrive trop :-D – iarwain01

+0

Cela ne fonctionne pas pour le Editable retourné par TextEdit. – EtienneSky

20

Très bien, je suis la réponse:

int x = Integer.parseInt(R2.getText().toString()); 
+0

+1 - marquer ceci comme la réponse – Onimusha

1

J'utilisé

int x = Integer.getInteger(R2.getText().toString()); 

parseInteger ne fonctionnerait pas pour moi.

6

Utilisez parseInt(), comme celui-ci -

intX = Integer.parseInt(myEditWidget.getText().toString()); 

La méthode getText() (qui est hérité par votre widget EditText de la classe View()) retourne un objet de type Editable qui doit être converti en un type de chaîne avant parseInt() peut le gérer.

Notez que même si votre widget EditText est défini avec le android:inputType="number", vous devrez attraper l'exception (NumberFormatException) que jette parseInt pour vous assurer que la valeur tient dans un int!

0

Mon programme fonctionne de cette façon:

int age = 0; 

final EditText txt_age = (EditText) findViewById (R.id.editTextAge); 


String str_age = txt_age.getText().toString(); 

age = Integer.valueOf(str_age);