2012-04-11 4 views
0

я получаю следующее исключениеформат андроид номер исключение

java.lang.NumberFormatException: Invalid INT: «»

Это происходит при попытке сохранить значение в общие настройки в то время ничего был вставлен в поле ввода. Это связано с тем, что я разбираю входные данные как int (так как мне нужно сделать вычитание с рисунком).

Это не проблема, так как приложение будет работать, но просто может заставить кого-то, использующего приложение, wierd и попробуйте нажать кнопку сохранения без ввода каких-либо данных, которые я не хочу вставлять.

Я попытался следующие:

else if (obj ==null || obj.currentWeight.contains("")||obj.targetWeight.contains("")){ 
      AlertDialog.Builder builder = new AlertDialog.Builder(
        MainActivity.this); 
      builder.setTitle("No Data Stored"); 
      builder.setMessage("Please insert your target weight and your current weight and click Store Weight") 
      .setPositiveButton("OK", null).show(); 

Из того, что я мог бы сделать, если я сохранил вышеуказанное заявление, как

else if (obj ==null){ 

тогда, если нулевой вставляется диалог будет открывать и отобразить сообщение.

Я получаю исключение в числовом формате.

любая помощь будет оценена

+0

Что ** цельWeight ** здесь ..? – ngesh

+0

Targetweight и текущий вес - int из текста редактирования \t \t \t int targetWeight = Integer.parseInt (obj.targetWeight); –

+2

Эта строка является вашей проблемой: targetWeight может быть пустым или пустым – Snicolas

ответ

2

Вообще говоря, обработка исключений является хорошим подходом для такого рода нежелательного поведения:

if(obj != null && obj.getTargetWeight() != null) { 
try { 
    int i = Integer.parseInt(obj.getTargetWeight()); 
    //do something if target weight is a number 
} catch(NumberFormatException ex) { 
    //do something if target weight was not a number. 
} 
} 

--- отредактирован типа точное исключение

+0

Я пойду –

+0

ты, мой друг, гений. –

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