|
||
|
|
|
|||||||
| Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android |
![]() |
|
|
Herramientas |
|
#1
|
||||
|
||||
|
Cambiar TextView desde distinta clase
Necesito cambiar un TextView que está en la Activity 'UNO' desde la Activity 'TRES'. He buscado información pero no hay manera, y las ideas que he ido teniendo han ido fallando miserablemente una tras otra. Podría alguien ayudarme porfavor?
Gracias de antemano! EDITO: No quiero pasar la string mediante un putExtra en un intent, sino cambiarlo directamente desde la Activity 'TRES' sin pasar ni por la 'DOS' ni por la 'UNO' Última edición por KrLx_roller Día 11/01/12 a las 17:56:51. Razón: Aclaración |
|
|
|
#2
|
||||
|
||||
|
Puedes hacerlo pasando el intent de la clase UNO a la clase TRES, poniendolo en el putExtra por ejemplo, y que la clase UNO tenga una función pública que haga el cambio.
PERO!!! Android no te garantiza que la Activity UNO vaya a estar viva cuando estés en la Activity TRES, así que puede ser que obtengas un precioso NullException que tendrás que controlar. |
|
#3
|
||||
|
||||
|
Gracias por la respuesta! Investigando un poco más a fondo he encontrado que si declaro la variable en UNO como public static se me soluciona el problema, lo que pasa es que lo declaro: public static TextView player1 = new TextView(null); pero mi sigue dando el problema. Este sería el método ideal...
Última edición por KrLx_roller Día 11/01/12 a las 20:03:45. |
|
#4
|
||||
|
||||
|
Puedes hacer un método público que te de el Context de la Activity UNO. Yo tengo algo así:
Código:
public static Context myContext(){
return NombreDeLaClase.this;
}
Código:
public void setTextViewText(int id, String text){
TextView tv = (TextView) findViewById(id);
tv.setText(text);
}
Código:
NombreDeLaClaseUNO.myContext().setTextViewText(R.id.laquesea, "Hello world!"); Un saludo. |
![]() |
Estás aquí
|
||||||
|
||||||