Home Menu

Menu



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  
Viejo 18/11/12, 14:23:56
Avatar de asuka89
asuka89 asuka89 no está en línea
Usuario poco activo
Mensajes: 7
 
Fecha de registro: nov 2012
Localización: Barcelona
Mensajes: 7
Modelo de smartphone: Samsung Galaxy Ace
Tu operador: Yoigo
Mencionado: 0 comentarios
Tagged: 0 hilos
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
Avatar de angelfmarcos
angelfmarcos angelfmarcos no está en línea
Miembro del foro
Mensajes: 84
 
Fecha de registro: feb 2012
Localización: España
Mensajes: 84
Tu operador: Vodafone
Mencionado: 0 comentarios
Tagged: 0 hilos
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
Avatar de set92
set92 set92 no está en línea
Miembro del foro
Mensajes: 468
 
Fecha de registro: jun 2012
Mensajes: 468
Modelo de smartphone: samsung
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
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

Ú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
Avatar de asuka89
asuka89 asuka89 no está en línea
Usuario poco activo
Mensajes: 7
 
Fecha de registro: nov 2012
Localización: Barcelona
Mensajes: 7
Modelo de smartphone: Samsung Galaxy Ace
Tu operador: Yoigo
Mencionado: 0 comentarios
Tagged: 0 hilos
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   HTCMania > Todo sobre Android > Programación y Desarrollo para Android

Herramientas

Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 00:05:03 (GMT +2)

Cookies
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007