|
||
|
![]() |
![]() |
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
|
||||
|
||||
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); } 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); } 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. |
|
#2
|
||||
|
||||
Hola
tv3 es un TextView, no? Si es así creo recordar que tienes que hacer tv3.getText ().toString () Un saludo |
#3
|
||||
|
||||
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. |
#4
|
||||
|
||||
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 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 ^^ |
![]() |
![]() |
||||||
|