Ver Mensaje Individual
  #10 (permalink)  
Antiguo 14/04/2016, 03:17
Avatar de Malenko
Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 11 meses
Puntos: 606
Respuesta: Problema con una variable devuelta por un método

Es un error muy grande y muy grave modificar así variables: desde un método acceder y modificar una variable externa. Porque no puedes controlar su valor (ni su ciclo de vida) y si se modifica desde otro sitio no vas a poder controlarlo y tendrás errores fantasma.

Además así siempre tendrás control sobre lo que estás devolviendo. Ahora mismo devuelves una variable ya inicializada y existente. Si en algún punto de tu código (una de las ramas de tus condicionales) no le estás asignado un valor, la función devolverá el valor que ya tenía. Esto es exactamente lo que te está pasando. Tu código entra en una rama donde no se modifica el valor de la variable y por eso devuelve el valor anterior.

Ahora no tengo disponible AndroidStudio pero estoy seguro que se puede hacer ese método sin la chapuza de modificar una variable externa. Es un muy mal hábito de programa y estoy seguro que debe haber una forma de hacerlo bien.

Por cierto, cuando has de devolver un rango de valores para indicar el estado de una operación, no se usa un string, se usa un enumerado.
__________________
Aviso: No se resuelven dudas por MP!