2010-08-04 20 views
15

Esto debe ser simple, pero he probado si las declaraciones de comprobación de valores nulos y también los comprobando el .length de ella:¿Cómo comprobar si EditarTexto tiene un valor en 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); 
} 

Pero no detecta nada fue ingresado. ¿Algunas ideas?

Respuesta

36

favor compare valor de cadena no con == pero equals():

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

Como dije antes: Esto funciona para detener la progresión a la siguiente actividad, pero mi brindis no se muestra. ¿Alguna idea? ¡Gracias! –

+1

Vaya, mi error. No agregué .show()! –

+0

Maldita sea ! entonces ¿por qué "==" es incorrecto aquí ?!: O –

0

Quizás como esto?

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

No funciona bien. :( –

9

Esto comprobará si el texto de edición está vacío o no:

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

Esto funciona para detener la progresión a la siguiente actividad, pero mi brindis no se muestra. ¿Alguna idea? ¡Gracias! –

+0

Toast.makeText (CurrentMarketValue.this, "Necesita ingresar un ALTO Y BAJO.", Toast.LENGTH_SHORT) .show(); Esto funcionará. –

2

Más bien lo que se puede comprobar es como :

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

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

Si detiene la progresión a la siguiente actividad pero no muestra el brindis, debe haber algo mal en la declaración else. ¿Has leído el artículo de Dev Guide en las notificaciones de Toast? Está en Interfaz de usuario -> Notificar al usuario -> Crear notificaciones de Toast.

0

La validación es algo tediosa. Quizás pueda ayudarte de una manera más genérica. He escrito un marco básico para validate fields in Android.

Es totalmente gratuito y puede hacer lo que quiera con él.

0

escribir una función sencilla dentro de una clase:

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 lógica positiva:

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