Autore Topic: EditText vuoto app crasha  (Letto 521 volte)

Offline drake55

  • Nuovo arrivato
  • *
  • Post: 2
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC One m7
  • Sistema operativo:
    Windows 7
EditText vuoto app crasha
« il: 14 Maggio 2015, 20:34:39 CEST »
0
Salve a tutti, premetto che sono un principiante e sono appena iscritto al forum. Sto provando a creare la mia prima app ma mi trovo già in difficoltà: praticamente ci sono due EditText dove l'utente mette dei numeri, e un bottone che quando lo si preme deve fare un' operazione matematica e infine esce il risultato. Quando metto i numeri funziona perfettamente, quando lascio i 2 EditText vuoti o anche uno, l'applicazione smette di funzionare. posto qua sotto il codice:
Codice (Java): [Seleziona]
public class MainActivity extends ActionBarActivity {
    private Button bottone1;
    private TextView risultato;
    private EditText benzina;
    private TextView misura;
    private EditText olio;
    // variabili per i calcoli
    private int num1 = 0;
    private int num2 = 0;
    private int tot=0;


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initControls();
    }

    private void initControls() {

        olio = (EditText) findViewById(R.id.olio);
        benzina = (EditText) findViewById(R.id.benzina);
        risultato = (TextView) findViewById(R.id.risultato);
        bottone1 = (Button) findViewById(R.id.bottone1);
        misura = (TextView) findViewById(R.id.misura);


        bottone1.setOnClickListener(new Button.OnClickListener() {

            public void onClick (View v)
            {


                misura.setText("mm");
                calculate();


            }});


    }

    private void calculate() {


        num1=Integer.parseInt(benzina.getText().toString());
        num2=Integer.parseInt(olio.getText().toString());

        tot=(num1*num2*10);
        risultato.setText(Integer.toString(tot));

    }



scusate se magari è scritto molto male, ma come ho detto prima è la mia prima app "seria".
mi farebbe piacere se qualcuno mi aiuterebbe a trovare un modo per non far crashare l'app. Magari quando non si inseriscono i numeri compare un messaggio di errore. Grazie.
« Ultima modifica: 14 Maggio 2015, 20:36:31 CEST da drake55 »

Offline tonno16

  • Utente storico
  • *****
  • Post: 1231
  • Respect: +60
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Re:EditText vuoto app crasha
« Risposta #1 il: 14 Maggio 2015, 20:53:06 CEST »
0
Si. Senza guardare tu dai edittext.getText(). Ovviamente farai Integer.parse(stringa) dove stringa è il valore della editext. Se lasci vuoti androd non sa che "" equivale a 0. Devi far in if stringa.lenght() > 0.
Nella edittext setta come impostazione solo i numeri così eviti altri crash.

Offline drake55

  • Nuovo arrivato
  • *
  • Post: 2
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC One m7
  • Sistema operativo:
    Windows 7
Re:EditText vuoto app crasha
« Risposta #2 il: 14 Maggio 2015, 21:34:31 CEST »
0
Grazie ma non ho capito molto. dove lo devo mettere
Codice (Java): [Seleziona]
if stringa.lenght() > 0 ?

Offline tonno16

  • Utente storico
  • *****
  • Post: 1231
  • Respect: +60
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Re:EditText vuoto app crasha
« Risposta #3 il: 14 Maggio 2015, 23:23:22 CEST »
0
String s = editText.getText().toString().
If(s.lenght()>0) int val = Integer.parse(s).