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 18/11/12, 14:23:56
Array

[xs_avatar]
asuka89 asuka89 no está en línea
Usuario poco activo
 
Fecha de registro: nov 2012
Localización: Barcelona
Mensajes: 7
Modelo de smartphone: Samsung Galaxy Ace
Tu operador: Yoigo
Recuperar datos en segundo Activity

Hola a todos,

estoy intentando pasar un dato a otro activity para recuperarlo. El codigo que he hecho en el main_activity.java es una accion que se ejecuta al pulsar un boton y es:

Código:
public void lanzar(View view) {
        Intent i = new Intent(this, Segon.class );
        Bundle bund1 = new Bundle();
        String calories=String.valueOf(tv3);
        bund1.putString("calories", calories);
        
        i.putExtras(bund1);
        startActivity(i);
  }
tv3 es un textview que en ese momento es un numero

En el segon.java en el onCreate he puesto esto para que al iniciar la activity en un text view llamado tv4 se ponga el string de antes:

Código:
ublic void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.segon);
        
        tv4=(TextView)findViewById(R.id.tv4);
        
 
        
        Bundle datos = this.getIntent().getExtras();
        String caloriesrecuperades = datos.getString("calories");
        tv4.setText(caloriesrecuperades);
    }
Pero no funciona, al iniciar la segunda actividad lo que me sale es "android.widget.TextView@405251c8".

No sé si el problema debe venir de cuando intento pasar el contenido de tv3 a un string que no lo hago bien... Pero no se me ocurre que otra forma puedo utilizar.

Gracias de antemano ;).

Última edición por asuka89 Día 18/11/12 a las 21:58:17.
Responder Con Cita


  #2  
Viejo 18/11/12, 16:07:17
Array

[xs_avatar]
angelfmarcos angelfmarcos no está en línea
Miembro del foro
 
Fecha de registro: feb 2012
Localización: España
Mensajes: 84
Tu operador: Vodafone

Hola

tv3 es un TextView, no?

Si es así creo recordar que tienes que hacer tv3.getText ().toString ()

Un saludo
Responder Con Cita
  #3  
Viejo 18/11/12, 16:09:09
Array

[xs_avatar]
set92 set92 no está en línea
Miembro del foro
 
Fecha de registro: jun 2012
Mensajes: 468
Modelo de smartphone: samsung
Tu operador: Movistar
Yo cuando he usado los intents en clase lo he hecho algo mas corto y creo que hace lo mismo, seria asi:
Intent i = new Intent(this, Segon.class);
i.putExtras("direccion", EditText.getText().toString());

Y en la recojida usar
Bundle bundle=getIntent().getExtras();
tvTexto.setText(bundle.getString("direccion"));

Y sin problema ninguna nunca, acabo de estar probando alguna cosa pero en todos los casos me pone lo que yo le paso correctamente, en ninguno me muestra la direccion de memoria que es lo que te ha mostrado a ti, osea yo creo que el problema le tienes donde tu dices, pasando el contenido del textview a una variable, que deberia ser como lo tengo yo en el codigo arriba o creo que tambien te sirve tvTexto.toString();

EDIT: Igual esto te ayuda para aprender mas de los intents http://www.vogella.com/articles/Andr...t/article.html y aqui creo que son las 3 formas de pasar parametros, la tuya, la mia y otra parecida a la tuya http://stackoverflow.com/questions/7...-startactivity
__________________
Gracias a todos aquellos que no piensan en lo que cuesta diseñar/desarrollar una app, que no pagan ni 5 miseros euros y fastidian a todos los programadores, es un gran aliciente para todos los futuros programadores como yo

Última edición por set92 Día 18/11/12 a las 16:11:41.
Responder Con Cita
  #4  
Viejo 18/11/12, 16:40:12
Array

[xs_avatar]
asuka89 asuka89 no está en línea
Usuario poco activo
 
Fecha de registro: nov 2012
Localización: Barcelona
Mensajes: 7
Modelo de smartphone: Samsung Galaxy Ace
Tu operador: Yoigo
 Cita: Originalmente Escrito por set92 Ver Mensaje
Yo cuando he usado los intents en clase lo he hecho algo mas corto y creo que hace lo mismo, seria asi:
Intent i = new Intent(this, Segon.class);
i.putExtras("direccion", EditText.getText().toString());

Y en la recojida usar
Bundle bundle=getIntent().getExtras();
tvTexto.setText(bundle.getString("direccion"));

Y sin problema ninguna nunca, acabo de estar probando alguna cosa pero en todos los casos me pone lo que yo le paso correctamente, en ninguno me muestra la direccion de memoria que es lo que te ha mostrado a ti, osea yo creo que el problema le tienes donde tu dices, pasando el contenido del textview a una variable, que deberia ser como lo tengo yo en el codigo arriba o creo que tambien te sirve tvTexto.toString();

EDIT: Igual esto te ayuda para aprender mas de los intents http://www.vogella.com/articles/Andr...t/article.html y aqui creo que son las 3 formas de pasar parametros, la tuya, la mia y otra parecida a la tuya http://stackoverflow.com/questions/7...-startactivity
Gracias, de ésta manera funciona perfectamente (cambiando el putExtras por putExtra porque dice que no se puede con strings :S.

Gracias por el enlace de los Intent también ;)

PD: angelfmarcos, el error estaba ahí también gracias que lo decía de una manera incorrecta gracias también ^^
Responder Con Cita
Respuesta

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



Hora actual: 21:40:15 (GMT +2)



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

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