Android - Deshabilitar un boton al tener cadena vacia

 
Vista:
sin imagen de perfil

Deshabilitar un boton al tener cadena vacia

Publicado por Anatoli (3 intervenciones) el 19/11/2016 20:52:19
Hola buenas, este año he empezado a programar android y soy principiante, la aplicacion que nos han mandado hacer en clase es bastante sencilla, consiste en un boton que te genera una multiplicacion aleatoria, entonces el usuario escribe el resultado en un editText y le da a un Boton "Enviar" y si es correcto te lo pone en un toast, si es incorrecto pues lo mismo pero con otro mensaje. Basicamente el boton enviar llama a un metodo que comprueba el resultado de las multiplicaciones con lo introducido por el usuario y te saca los toast segun eso. el problema es que cuando le doy a comprobar sin escribir nada, la aplicacion se detiene, entonces lo que quiero conseguir es deshabilitar el boton "Enviar" mientras en el editext no haya nada escrito, es decir sea cadena nula. pero no consigo hacerlo, tampoco estoy muy seguro de donde poner el codigo de la condicion, pero he probado poniendo en el onCreate esto (tampoco sale, lo que me hace es dejar el boton deshabilitado todo el rato, no se porque):

1
2
3
4
if (mEditTextResultado.getText()==null || mEditTextResultado.isEnabled()==false){
    mButtonComprobar.setEnabled(false);
}else
    mButtonComprobar.setEnabled(true);

el mButtonComprobar es lo que seria el boton "Enviar" que os he mencionado

la condicion mEditTextResultado.isEnabled()==false la pongo porque al principio el editext esta deshabilitado, lo habilitas en cuanto el programa te genera una multiplicacion. Espero haberoslo dejado todo claro y que me podais ayudar, un saludo ;)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 2
Ha aumentado su posición en 7 puestos en Android (en relación al último mes)
Gráfica de Android

Deshabilitar un boton al tener cadena vacia

Publicado por juanki (251 intervenciones) el 19/11/2016 23:22:48
Hola

Para comprobar si una cadena está vacía no se hace comparándola con null, tienes varias opciones, por ejemplo, puedes compararla con una cadena vacía:

1
if(mEditTextResultado.getText().equals(""))

Puedes comprobar su longitud, si es 0 es que está vacía

1
if(mEditTextResultado.getText().length() == 0)

o puedes hacer uso del método isEmpty(), que para eso está:

1
if(mEditTextResultado.getText().isEmpty())

Aunque antes de hacer estas comprobaciones no vendría mal que le quites los espacios en blanco con trim(), no vaya a ser que el usuario solo pulsó espacios en blanco, no estaría vacía pero te dará error igual, ya que un espacio en blanco no es un número.

Acostúmbrense a leer la documentación, ¡¡ ahorra mucho tiempo !!:

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
3
Comentar
sin imagen de perfil

Deshabilitar un boton al tener cadena vacia

Publicado por Anatoli (3 intervenciones) el 20/11/2016 13:52:08
muchas gracias, y hare eso de leer la documentacion :), un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar