Пустой EditText Android Crash - PullRequest
       5

Пустой EditText Android Crash

0 голосов
/ 26 февраля 2011
        @Override
        public void onClick(View view) {
            AtimesB = nrB * nrA;
            try {
                AtimesB = Integer.parseInt(editA.getText().toString());
            }catch(NumberFormatException e){
                textInC.setText("Error!");
                usableInt = false;
                }
            if(AtimesB == Integer.parseInt(editA.getText().toString())){
                editA.setText("");
                textC.setTextColor(Color.parseColor("#87d9ff"));
                textC.append("CORECCT: " + nrB + " x " + nrA + " = " + AtimesB + "\n");
                textInC.setText("");
                nrA = rand.nextInt(50)+1;
                nrB = rand.nextInt(50)+1;
                textA.setText(String.valueOf(nrA));
                textB.setText(String.valueOf(nrB));
            }else if(usableInt = false){
                           textInC.setTextColor(Color.RED);
                           textInC.setText("Error");

            }else{
                textInC.setText("INCORECCT");
            }
        }

Есть идеи, как это исправить?Когда я нажимаю на кнопку с пустым EditText, приложение вылетает.

Спасибо.

Ответы [ 2 ]

1 голос
/ 26 февраля 2011

У вас есть одна попытка / уловка, окружающая прямой вызов parseInt для текстового значения EditText, но затем вы делаете это снова. Это, вероятно, где вы бросаете исключение.

0 голосов
/ 26 февраля 2011

Ваш целочисленный анализ неэффективен и не работает.Вы делаете одно и то же дважды.Всякий раз, когда вы пишете один и тот же код дважды, вы должны спросить себя, делаете ли вы это неправильно.

Попробуйте:

try {
     if(AtimesB == Integer.parseInt(editA.getText().toString())) {
         editA.setText("");
         textC.setTextColor(Color.parseColor("#87d9ff"));
         textC.append("CORECCT: " + nrB + " x " + nrA + " = " + AtimesB + "\n");
         [...]
     }
} catch(NumberFormatException e){
     textInC.setText("Error!");
     usableInt = false;
}

Также, как я уже упоминал в комментарии, выв сравнении отсутствует = (if(usableInt = false).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...