2015-12-20 4 views
0

У меня есть editText, который мне нужен, чтобы пользователь мог ввести значение. У меня установлен тип ввода android:inputType="number". Затем я получаю текст из EditText так:Parse Int crashes app android

EditText editText = (EditText) findViewById(R.id.myEditText); 
String text = editText.getText().toString(); 

Я тогда нужно преобразовать этот текст в междунар для сравнения с другими Интс, поэтому я пытаюсь разобрать Int, но он выходит из строя мое приложение каждый раз. Я пробовал много вещей, но он всегда сбой моего приложения. Любая помощь будет очень полезной и заблаговременно.

+3

Какую ошибку вы получаете? И не могли бы вы также опубликовать код анализа? – galvan

+0

Может быть, пользователь ничего не пишет в этой области, а «can not может быть представлен как число? –

ответ

1

Просто получить Integer прямо из EditText, используя этот код:

int textValue = Integer.parseInt(editText.getText().toString()); 

и использование INT textValue для сравнения с другими Интс.

+0

Спасибо за ответ, но проблема в том, что он говорит, что находит строку, но нуждается в int. В любом случае, чтобы исправить это? – SG123

+0

Ничего, моя проблема в том, что я передавал его в String, все еще в аварии, спасибо! – SG123

+0

Это приложение отключает мое приложение. Я понятия не имею, что делать – SG123

0

проверить, если ваша строка пуста или нет, и вы можете также использовать и попытаться поймать, если что-то пойдет не так

EditText editText = (EditText)(findViewById(R.id.edt)); 

    String value = editText.getText().toString(); 

    if(!value.isEmpty()) 
    { 
     try 
     { 
      int int_value = Integer.parseInt(value); 
     }catch (NumberFormatException e) 
     { 
      Log.e(TAG,e.getMessage()); 
     } 
    }