Y un problema más...
Vereis, como dije antes, tengo un hilo que rescata información vía HTTP de un servidor. La aplicación principal (que es un MIDlet) llama al Thread para que le devuelva los valores que ha recuperado y procesarlos.
El problema es que cuando llamo a los métodos que devuelven los valores del Thread, estos métodos devuelven los valores que se adquirieron en el constructor. Sin embargo, cuando imprimo los valores de los atributos desde el Thread, se escriben los valores correctos.
Me explico mejor mostrando un trozo de código.
Código:
public class CogeValores extends Thread {
private String valor;
public CogeValores(){
valor = null;
}
public void run(){
//Aqui realizamos todas las conexiones HTTP y el atributo valor adquiere
//su nuevo contenido
System.out.println(valor); //En la consola me muestra el valor que le
//le corresponde
}
public String getValor(){
return valor;
}
}
public class Main extends MIDlet {
//Y en cierto momento necesito hacer esto
CogeValores a = new CogeValores();
a.start();
System.out.println(a.getValor()); //Y aqui me sigue saliendo null, tras haber
//ejecutado el thread
}
¿Se me está escapando algo?. ¿Como recupero los datos adquiridos por el Thread entonces?.
¡Un saludo!.