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

Respuesta
 
Herramientas
  #1  
Viejo 11/01/12, 17:53:20
Array

[xs_avatar]
KrLx_roller KrLx_roller no está en línea
Usuario muy activo
· Votos compra/venta: (3)
 
Fecha de registro: oct 2008
Mensajes: 522
Tu operador: -

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
Responder Con Cita


  #2  
Viejo 11/01/12, 19:40:57
Array

[xs_avatar]
kriogeN kriogeN no está en línea
Colaborador/a
· Votos compra/venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Tu operador: Vodafone
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.
Responder Con Cita
  #3  
Viejo 11/01/12, 19:59:22
Array

[xs_avatar]
KrLx_roller KrLx_roller no está en línea
Usuario muy activo
· Votos compra/venta: (3)
 
Fecha de registro: oct 2008
Mensajes: 522
Tu operador: -

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.
Responder Con Cita
  #4  
Viejo 12/01/12, 10:42:11
Array

[xs_avatar]
Arasthel Arasthel no está en línea
Cocinero veterano
· Votos compra/venta: (1)
 
Fecha de registro: jun 2009
Localización: Almería
Mensajes: 1,946
Modelo de smartphone: Nexus 5
Tu operador: Amena
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;
}
Y luego tengo un método tal que así:

Código:
public void setTextViewText(int id, String text){
	TextView tv = (TextView) findViewById(id);
	tv.setText(text);
}
Y lo llamo tal que así desde la que sería la actividad TRES:

Código:
NombreDeLaClaseUNO.myContext().setTextViewText(R.id.laquesea, "Hello world!");
Quizás no sea lo más elegante y sea un poco lioso, pero funciona. Aprovecho para preguntar si hay otra forma mejor.

Un saludo.
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android



Hora actual: 21:24:49 (GMT +1)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /