Неоднозначность в Android Java-источнике

1
EditText ed1 = (EditText)findViewById( R.id.editText1 );

int a = Integer.parseInt( ed1.getText().toString() );

Получает ли вышеуказанный код ввод как числовой от пользователя и показывает его как строку?

Мое требование состоит в том, чтобы получить ввод как целое и вернуть как строки. Как мне это сделать?

Теги:

4 ответа

2
Лучший ответ
EditText ed1=(EditText)findViewById(R.id.editText1);
String ed1Str = ed1.getText().toString().trim();
int a = Integer.parseInt(ed1Str);

Будет делать его доступным как целое число (int a) и как строка (String ed1Str)

  • 0
    Вы должны добавить trim () при извлечении строки из EditText (), это предотвратит пустую строку, если таковая имеется.
4

Является ли приведенный выше код ссылкой, который получает ввод как числовой от пользователя и показывает его как строку?

Другое дело - это происходит через эти шаги:

  • Найти EditBox
  • Получить текст из окна редактирования
  • Разберите текст как число

Мое требование - получить ввод как целое и вернуть в виде строк

Получите вход откуда? Если вы получаете ввод от пользователя, то он, вероятно, уже находится в строковой форме. Если вы пытаетесь преобразовать целое число из другого места в код, вы можете использовать

String text = Integer.toString(number);

... или вы можете использовать объект NumberFormat, который учитывал бы культурную информацию, позволяющую группировать цифры и т.д.

2

EditText.getText() возвращает объект Editable, и вы должны преобразовать его в строку. Вы не можете получить номер непосредственно из текста редактирования. Вы можете получить доступ к тексту, возвращенному из EditText, преобразовать его в String и затем скрывать его на число, как вы это сделали.

2

сделать небольшую модификацию в приведенном выше коде ed1.setInputType(InputType.TYPE_CLASS_NUMBER);
что сделает ваш edittext только для принятия целочисленных значений.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню