У меня небольшой вопрос по Android. Предположим, у меня есть EditText, в котором пользователь будет вводить число с клавиатуры. Как я могу собрать это значение? Давайте посмотрим, я знаю, как это сделать, как если бы это была текстовая строка, которая тогда была бы там, где я делаю это:
private EditText et1;
et1 = (EditText)findviewbyid(R.id.et1);
String texto = et1.getText().toString();
Но я не буду этого делать, если вместо текста будет цифра, например цифра, относящаяся к возрасту. Как будет собираться это значение? Спасибо и привет!
Вы можете использовать это для преобразования в целое или двойное число (см. ниже):
Для целого числа любым из этих двух способов:
Для десятичных дробей:
Вы можете добавить
.trim()
для пропуска пробелы, которые могут быть до или после введенного числа:Все, что вы соберете, придет к вам в виде строки, что вам нужно сделать, это разобрать ее, например:
Если это число, это та же самая процедура, на самом деле метод getText() возвращает текст, отображаемый методом
TextView
.Так что не имеет значения, является ли это строкой или числом.
Но если вы хотите получить значение
numerico
, вам нужно его преобразовать, вы можете использовать для этогоInteger.parse()
:В качестве наилучшей практики используйте этот метод
trim()
, чтобы избежать возможных пробелов в содержимом вашегоEditText
:Я рекомендую вам принять некоторые меры безопасности при разборе:
При этом вы избегаете ошибки преобразования в случае, если метод синтаксического анализа вызывается, а строка пуста.