2010-12-12 13 views
12

chcę przekonwertować typ Editable z android EditText do typu INTEGER zrobić operacji matematycznych na szeregu wejściowego użytkownikaKonwersja z edytowalnych na int w android

Próbowałem następujące:

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

ale daje mi błąd z nie można przekonwertować ciąg do int.

Odpowiedz

4

Spróbuj Integer.ParseInteger(R2.getText())

+0

lol, ja tylko pisanie go i odświeżane w słupek i znalazłem napisałeś to samo :) – sherif

+0

To było coś Wiedziałem, że nie robi” zbyt wiele się dzieje :-D – iarwain01

+0

To nie działa dla Edytowalnego zwracanego przez TextEdit. – EtienneSky

20

porządku, dostałem odpowiedź:

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

+1 - zaznacz to jako odpowiedź – Onimusha

1

użyłem

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

parseInteger nie będzie działać dla mnie.

6

Zastosowanie parseInt(), tak -

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

Sposób getText() (która jest dziedziczona przez widget EditText z klasy View()) zwraca obiekt typu Editable które muszą być konwertowane do typu String przed parseInt() może sobie z tym poradzić.

Należy pamiętać, że nawet jeśli jest zdefiniowany widget EditText z android:inputType="number" będziesz chciał złapać wyjątek (NumberFormatException), który rzuca parseInt aby upewnić się, że wartość mieści się w int!

0

Mój program działa w ten sposób:

int age = 0; 

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


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

age = Integer.valueOf(str_age);