¿Cómo puedo transferir los datos entre dos actividades en Android [duplicado]

Posible duplicado:
¿Cómo paso datos entre actividades en Android?

Tengo dos actividades A y B. La actividad A tiene un editText y un botón. La actividad B tiene un editText, cuando escribo algo en editText de A y hago clic en el botón, debería mostrarse en editText2. ¿Alguien puede proporcionar un código para esto?

Gracias por adelantado !!!

preguntado el 03 de julio de 12 a las 03:07

Esta es una pregunta básica de Android que ha sido respondida muchas veces en Stackoverflow: por ejemplo stackoverflow.com/questions/2091465/…, stackoverflow.com/questions/8256950/… -

4 Respuestas

Asumiré que ha escrito dos clases de actividad: ActivityA & ActivityB y que has escrito el onClickListener para el botón en ActivityA.

Para pasar datos entre dos actividades, deberá usar la clase Intent a través de la cual está iniciando la actividad y justo antes de iniciar actividad para ActivityB, puede completarla con datos a través de los objetos adicionales. En su caso, será el contenido del editText.

ActividadA onClickListener

Intent i = new Intent(getBaseContext(),ActivityB.class);

//Set the Data to pass
EditText txtInput = (EditText)findViewById(R.id.txtInput);
String txtData = txtInput.getText().toString();
i.putExtra("txtData", txtData);

startActivity(i);

Ahora en ActivityB, puede escribir código en onCreate para obtener el Intent que lo lanzó y extraer los datos que se le pasan.

ActividadB en Crear

Intent i = getIntent();
//The second parameter below is the default string returned if the value is not there. 
String txtData = i.getExtras().getString("txtData","");
EditText txtInput2 = (EditText)findViewById(R.id.txtInput2);
txtInput2.setText(txtData);

Espero que esto ayude.

Respondido 03 Jul 12, 04:07

Oye, ahora mis datos se están transfiriendo. ¡Muchas gracias! - Swetha Kaulwar

Cuando estés iniciando la actividad B envía datos en intent extras.

En la actividad A, cuando comienzas la actividad B,

Intent activityBstartIntent = new Intent(getApplicationContext(), ActivityB.class);
activityBstartIntent.putExtra("key", editTextA.getText().toString());
startActivity(activityBstartIntent);

Y en onCreate() de ActivityB haz esto

if(getIntent().getExtras() != null) {
editTextB.setText(getIntent().getExtras().getString("key");
}

Espero que ayude.

Respondido 03 Jul 12, 04:07

Al usar la intención, podemos pasar datos a través de componentes como actividades. En su primera actividad al hacer clic en el botón, debe escribir esto para obtener enviar datos a la segunda actividad.

Intent intent = new Intent(this, DisplayMessageActivity.class);
EditText editText = (EditText) findViewById(R.id.edit_message);
String message = editText.getText().toString();
intent.putExtra(EXTRA_MESSAGE, message);

EXTRA_MESSAGE es una cadena constante en su actividad.

Y la segunda actividad obtendrá ese mensaje como este

Intención intención = getIntent();

Mensaje de cadena = intent.getStringExtra(MyFirstActivity.EXTRA_MESSAGE);

Aquí esta explicado muy claro.

Respondido 03 Jul 12, 04:07

si, alguien puede proporcionar código para esto, y Google incluso lo convirtió en el tema de muchos tutoriales y código de muestra. Intenta leer sobre Intenciones.

Respondido 03 Jul 12, 04:07

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.