Autore Topic: verifica edittext (valore nullo)  (Letto 388 volte)

Offline Pol

  • Nuovo arrivato
  • *
  • Post: 49
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    s2
  • Sistema operativo:
    debian
verifica edittext (valore nullo)
« il: 21 Settembre 2014, 14:11:11 CEST »
0
Buongiorno a tutti, sono agli inizi della programmazione java/android e già mi trovo in difficoltà. Il codice seguente (semplicemente) alla pressione del bottone scrive su una textview. Ho aggiunto i controlli di verifica (vuoto e/o nullo) riguardo le edittext. Ora però sono bloccato con queste due linee (che fanno crashare l'app):

double val1 = Double.parseDouble(editText1.getText().toString());         
double val2 = Double.parseDouble(editText2.getText().toString());

e vengono eseguite anche se le edittext sono vuote.

Quello che vorrei realizzare è un controllo che se le edittext non sono vuote, vengano eseguite le due linee sovrastanti e il resto del codice (la edittext è numerica).

Qualcuno mi può dare una dritta? o almeno una base su come fare?

grazie

QUI IL CODICE:

button1.setOnClickListener(new View.OnClickListener() {
             public void onClick(View view) {

                // check if edittext are nulls
              String tmp1 = editText1.getText().toString().trim();
                if(tmp1.isEmpty() || tmp1.length() == 0 || tmp1.equals("") || tmp1 == null){
                    editText1.setError("error");
                }
                else{
                   
                }
              String tmp2 = editText2.getText().toString().trim();
              if(tmp2.isEmpty() || tmp2.length() == 0 || tmp2.equals("") || tmp2 == null){
                    editText1.setError("error");
                }
                else{
                }
              
             # qui il problema - il codice da quì viene eseguito anche se le edittext sono vuote, e quindi il programma crasha
             double val1 = Double.parseDouble(editText1.getText().toString());         
              double val2 = Double.parseDouble(editText2.getText().toString());
              
               textView3.setText("ok");
       
             }
            
           });

grazie per l'aiuto!
Pol

Offline Aaaaabbbb

  • Utente junior
  • **
  • Post: 55
  • Respect: +3
    • Google+
    • pietmau
    • Mostra profilo
  • Dispositivo Android:
    Nexus 7, Samsung GT-S5830i, LG Optimus, Galaxy Tab 3
  • Play Store ID:
    aaaaaaaaaaaa
  • Sistema operativo:
    Win, Ubuntu
Re:verifica edittext (valore nullo)
« Risposta #1 il: 21 Settembre 2014, 15:55:57 CEST »
0
Codice (Java): [Seleziona]
if(editText1.getText().toString().matches(""))tv.setError("Errore");
else {double val1 = Double.parseDouble(editText1.getText().toString());}

Ciao!

Offline Pol

  • Nuovo arrivato
  • *
  • Post: 49
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    s2
  • Sistema operativo:
    debian
Re:verifica edittext (valore nullo)
« Risposta #2 il: 22 Settembre 2014, 11:15:11 CEST »
0
grazie!
val1 però poi non è più utilizzabile fuori dal listener :-O
Pol

Offline Aaaaabbbb

  • Utente junior
  • **
  • Post: 55
  • Respect: +3
    • Google+
    • pietmau
    • Mostra profilo
  • Dispositivo Android:
    Nexus 7, Samsung GT-S5830i, LG Optimus, Galaxy Tab 3
  • Play Store ID:
    aaaaaaaaaaaa
  • Sistema operativo:
    Win, Ubuntu
Re:verifica edittext (valore nullo)
« Risposta #3 il: 22 Settembre 2014, 20:05:41 CEST »
0
Codice (Java): [Seleziona]
button1.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {

// check if edittext are nulls
String tmp1 = editText1.getText().toString().trim();
if(tmp1.isEmpty() || tmp1.length() == 0 || tmp1.equals("") || tmp1 == null)
{editText1.setError("error");
return;}
               
String tmp2 = editText2.getText().toString().trim();
if(tmp2.isEmpty() || tmp2.length() == 0 || tmp2.equals("") || tmp2 == null)
{editText1.setError("error");
return;}
                             
 qui il problema - il codice da quì viene eseguito anche se le edittext sono vuote, e quindi il programma crasha

double val1 = Double.parseDouble(editText1.getText().toString());        
double val2 = Double.parseDouble(editText2.getText().toString());
             
textView3.setText("ok");