Autore Topic: verifica campo vuoto  (Letto 1019 volte)

Offline Pol

  • Nuovo arrivato
  • *
  • Post: 49
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    s2
  • Sistema operativo:
    debian
verifica campo vuoto
« il: 03 Novembre 2012, 20:03:47 CET »
0
Ciao a tutti e scusate se non è la sezione giusta.

Alle prime armi con android ho questo problema: ho creato due editText e vorrei che venisse segnalato attraverso un toast se uno o entrambi i campi sono vuoti:

if(!(netto.getText().toString().equalsIgnoreCase(""))){
             if(!(diritti.getText().toString().equalsIgnoreCase(""))){
             calculate();
                } else {
                    Toast.makeText(getApplicationContext(),
                            "Inserisci Netto", Toast.LENGTH_LONG).show();

                }
            } else {
                Toast.makeText(getApplicationContext(),
                        "Inserisci Diritti", Toast.LENGTH_LONG).show();
             
            }
       }
    });

funziona ma non distingue i campi "netto" e "diritti".

Io vorrei che venisse correttamente segnalato quale campo deve essere compilato

grazie per l'aiuto :-)
Pol

Offline IacopoDeeNosee

  • Utente junior
  • **
  • Post: 128
  • Respect: +33
    • Google+
    • iacopodeenosee
    • Mostra profilo
    • visualhunter
  • Dispositivo Android:
    Samsung Nexus S - GT-I9023
  • Play Store ID:
    IacopoDeeNosee
  • Sistema operativo:
    Arch linux x86_64
Re:verifica campo vuoto
« Risposta #1 il: 03 Novembre 2012, 20:30:05 CET »
0
Codice (Java): [Seleziona]
String strNetto = netto.getText().toString();
String strDiritti = diritti.getText().toString();
if ((strNetto.matches("")) && (strDiritti.matches(""))) {
    // ENTRAMBI I CAMPI SONO VUOTI
} else if (strNetto.matches("") {
   // IL CAMPO NETTO È VUOTO
} else if (strDiritti.matches("") {
   // IL CAMPO DIRITTI È VUOTO
}else {
   calculate();
}
non ho modo di provarlo ma credo funzioni.8y3

Offline iceweasel

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 878
  • Respect: +147
    • Mostra profilo
  • Dispositivo Android:
    LGE P990 - Google Nexus 5
  • Sistema operativo:
    Linux Debian Sid
Re:verifica campo vuoto
« Risposta #2 il: 03 Novembre 2012, 21:24:56 CET »
0
Sono entrambi codici poco efficienti, è meglio usare il metodo statico "isEmpty" della classe "TextUtils".

Codice (Java): [Seleziona]
if (TextUtils.isEmpty(netto.getText().toString())) {
   // netto vuoto o nullo
   Toast.makeText(...);
} else if (TextUtils.isEmpty(diritti.getText().toString())) {
   // diritti vuoto o nullo
   Toast.makeText(...);
} else {
   // netto e diritti non vuoti
   calculate();
}
adb logcat | tee /tmp/logcat | grep TAG

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:verifica campo vuoto
« Risposta #3 il: 04 Novembre 2012, 10:59:02 CET »
+1
E se vuoi fare una cosa ancora più carina, invece di mostrare un toast con l'errore, utilizza il metodo .setError() della classe EditText:

Codice (Java): [Seleziona]
if (TextUtils.isEmpty(netto.getText().toString())) {
   // netto vuoto o nullo
   netto.setError("Inserisci Netto");
} else if (TextUtils.isEmpty(diritti.getText().toString())) {
   // diritti vuoto o nullo
   diritti.setError("Inserisci Diritti");
} else {
   // netto e diritti non vuoti
   calculate();
}

In questo modo ti mostra un piccolo popup vicino all'EditText con l'errore che gli passi:

« Ultima modifica: 04 Novembre 2012, 11:00:47 CET da Ricky` »

Offline Pol

  • Nuovo arrivato
  • *
  • Post: 49
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    s2
  • Sistema operativo:
    debian
Re:verifica campo vuoto
« Risposta #4 il: 04 Novembre 2012, 13:15:44 CET »
0
Caspita!

Grazie 1000 :-)
Pol