2010-08-04 16 views
15

Questo dovrebbe essere semplice, ma ho cercato se le dichiarazioni di controllo per i valori nulli e anche quelli verifica della .length di esso:Come verificare se EditText ha un valore in Android/Java

EditText marketValLow = (EditText) findViewById(R.id.marketValLow); 
EditText marketValHigh = (EditText) findViewById(R.id.marketValHigh); 
if (marketValLow.getText().length() != 0 && marketValHigh.getText().length() != 0) { 
    Intent intent = new Intent(); 
    intent.setClass(v.getContext(), CurrentlyOwe.class); 
    startActivity(intent); 
} else { 
    Toast.makeText(CurrentMarketValue.this, "You need to enter a high AND low.", Toast.LENGTH_SHORT); 
} 

Ma non rileva nulla è stato inserito. Qualche idea?

risposta

36

Si prega di confrontare il valore stringa non con == ma equals():

String yourString = ; 
if (marketValHigh.getText().toString().equals("")) 
{ 
    // This should work! 
} 
+0

Come ho detto sopra: Questo funziona per fermare la progressione alla prossima attività, ma il mio toast non viene mostrato.Tutte le idee? Grazie! –

+1

Whoops, colpa mia. Non aggiungere .show()! –

+0

Dannazione ! così perché "==" non è corretto qui ?!: O –

0

Forse in questo modo?

String value = editText.getText().toString(); 
if (value == "") 
{ 
    // your code here 
} 
+0

Non funziona neanche. :( –

9

Questo controllerà se il testo di modifica è vuota o non:

if (marketValLow.getText().toString().trim().equals("")) 
{ 
} 
+0

Questo funziona per arrestare la progressione alla prossima attività, ma il mio toast non viene visualizzato. Qualche idea? Grazie! –

+0

Toast.makeText (CurrentMarketValue.this, "È necessario immettere un livello AND basso.", Toast.LENGTH_SHORT) .show(); Funzionerà. –

2

Piuttosto ciò che è possibile controllare è come :

String text = mSearchText.getText().toString(); 

if (!TextUtils.isEmpty(mSearchText.getText().trim())) { 
    // your code 
} 
0

Se interrompe la progressione alla prossima attività ma non mostra il brindisi, nella dichiarazione else deve esserci qualcosa di sbagliato. Hai letto l'articolo Dev Guide sulle notifiche Toast? È sotto Interfaccia utente -> Notifica all'utente -> Creazione di notifiche Toast.

0

La convalida è alquanto noiosa. Forse posso aiutarti in un modo più generico. Ho scritto una struttura di base su validate fields in Android.

È totalmente gratuito e puoi fare quello che vuoi con esso.

0

scrivere una semplice funzione all'interno di una classe:

public static boolean isEditTextEmpty(EditText et){ 
     String s = et.getText().toString(); 
     return s.equals(""); // really empty.   
    } 

    public static boolean isEditTextInvisible(EditText et){ 
     String s = et.getText().toString(); 
     return s.trim().equals(""); // might have only spaces...   
    } 

O ... con logica positiva:

public static boolean hasContentEditText(EditText et){ 
     String s = et.getText().toString(); 
     return s != null; // spaces will count.    
    } 
Problemi correlati