Ответ 1
Хорошо, я получил ответ:
int x = Integer.parseInt(R2.getText().toString());
Я хочу преобразовать тип Editable
из андроида EditText
в тип integer, чтобы выполнять математические операции с номером пользовательского ввода
Я попробовал следующее:
int x=(int)R2.getText().toString();
но он дает мне ошибку, которая не может преобразовать строку в int.
Хорошо, я получил ответ:
int x = Integer.parseInt(R2.getText().toString());
Использовать parseInt(), как это -
intX = Integer.parseInt(myEditWidget.getText().toString());
Метод getText()
(который наследуется вашим виджнем EditText класса View()
) возвращает объект типа Editable
, который должен быть преобразован в тип String до того, как parseInt() сможет обработать его.
Обратите внимание, что даже если ваш виджет EditText определен с помощью android:inputType="number"
, вы захотите поймать исключение (NumberFormatException
), которое parseInt выбрасывает, чтобы убедиться, что значение соответствует int!
Попробуйте Integer.ParseInteger(R2.getText())
Я использовал
int x = Integer.getInteger(R2.getText().toString());
parseInteger
не будет работать для меня.
Моя программа работает следующим образом:
int age = 0;
final EditText txt_age = (EditText) findViewById (R.id.editTextAge);
String str_age = txt_age.getText().toString();
age = Integer.valueOf(str_age);