2015-07-30 6 views
0

Я недавно начал изучать программирование и пишу приложение для заказа кофе. У меня есть «цена», где вы вводите основную цену за чашку кофе и некоторые другие варианты. Прямо сейчас, если я нажму кнопку «Заказать», когда поле цены пуст, приложение выйдет из строя. Я попытался добавить строку кода из вопроса о том, возможно ли иметь значение по умолчанию и подсказку в EditText. Вот фрагмент кода метода, который вычисляет цену, флажки флажки для начинку на кофе и хорошо работают:Остановить приложение от сбоев при отправке заказа с пустым EditText

// Calculates the price 
private int calculatePrice(int quantity) { 
    // Price per cup in field 
    EditText pricePerCupF = (EditText) findViewById(R.id.basic_price); 
    boolean whippedChecked = ((CheckBox) findViewById(R.id.whipped_cream)).isChecked(); 
    boolean chocolateChecked = ((CheckBox) findViewById(R.id.chocolate)).isChecked(); 
    int pricePerCup = Integer.parseInt(pricePerCupF.getText().toString()); 
    if (whippedChecked) { 
     pricePerCup += 1; 
    } 
    if (chocolateChecked) { 
     pricePerCup += 1; 
    } 
    if (pricePerCupF.getText().toString().equals("")) { 
     return 0; 
    } 
    else { 

     int price = pricePerCup * quantity; 
     return price; 
    } 

спасибо!

+0

Пожалуйста, сообщите нам подробнее .. Как он падает, какое исключение вы получаете? – nKognito

ответ

0

Помещенный

if (pricePerCupF.getText().toString().equals("")) { 
     return 0; 
} 

перед тем

int pricePerCup = Integer.parseInt(pricePerCupF.getText().toString()); 

этот путь выхода из функции перед любым разборе/литья ошибка может появиться, если поле пусто.

+0

Я положил весь расчет и проанализировал в заявление else, работает как шарм, спасибо! –

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