2014-03-28 2 views
0

Я использую этот код, чтобы получить число из EditText и передать его в таймер обратного отсчетаприложение падает java.lang.NumberFormatException: Invalid INT:

final int mytime; 
    mytime = Integer.parseInt(textIn.getText().toString()); 

    btnStartTimer.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 

      startCountDownTimer(mytime); 

     } 
    }); 

Однако приложение разбился, и я получаю: java.lang.NumberFormatException: Invalid INT:

Однако, когда я пишу это, как это работает:

btnStartTimer.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 

      startCountDownTimer(Integer.parseInt(textIn.getText().toString())); 

     } 
    }); 

Может угодить кто-нибудь объяснить мне разницу? Можно ли как-то использовать первый код? Я действительно не понимаю проблемы

ответ

1

В первом примере значение текста не было установлено и будет равно нулю. Вы хотите выполнить действие после того, как использование заполнило форму и нажало кнопку, не так ли.

+0

OK хорошо! Так что первый код нельзя использовать правильно? –

+0

выглядит так, если вы не захотите ** ваше приложение для сбоя –

Смежные вопросы