valores una studio sirve que putextra pasar parametros para otro otra objetos entre datos como activity actividades android

studio - ¿Cómo pasar un valor de una actividad a otra en Android?



putextra android para que sirve (6)

Creé una actividad con un botón y un AutuCompleteTextView [ACTV]. Ingresé un texto en ACTV y luego presiono el botón. Después de presionar el botón, quiero que la actividad vaya a otra actividad. En la segunda Actividad, solo quiero mostrar el texto ingresado en ACTV (de la primera actvidad) como un TextView.

Sé cómo comenzar la segunda actividad, que es la siguiente:

Intent i = new Intent(this, ActivityTwo.class); startActivity(i);

He codificado esto para obtener el texto ingresado desde ACTV.

AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.autocomplete); CharSequence getrec=textView.getText();

Mi pregunta aquí es cómo pasar "getrec" (después de presionar el botón) de la primera actividad al segundo. Y luego recibir "getrec" en la segunda actividad.

Supongamos que he creado la clase de controlador de eventos para el botón usando "onClick (Ver v)"


Es simple si está pasando String X de A a B.
A -> B

En la actividad A
1) Crear intención
2) Ponga los datos en el intento usando el método de intención PutExtra
3) Comienza la actividad

Intent i = new Intent(A.this, B.class); i.putExtra("MY_kEY",X);

En la actividad B
dentro deCrear método
1) Obtener objeto de intención
2) Obtener el valor almacenado con la tecla (MY_KEY)

Intent intent = getIntent(); String result = intent.getStringExtra("MY_KEY");

Esta es la forma estándar de enviar datos de A a B. puede enviar cualquier tipo de datos, podría ser int, boolean, ArrayList, String []. En función del tipo de datos que almacenó en la Actividad como clave, el método de recuperación del par de valores puede diferir, como si está pasando el valor int, entonces llamará

intent.getIntExtra("KEY");

Incluso puede enviar objetos Class pero para eso debe hacer que su objeto de clase implemente Serialzable o Interfaceface Parceable.

TransactionTooLargeException

Cuantos datos puede enviar a través del tamaño. Si los datos exceden cierta cantidad en tamaño, entonces puede obtener TransactionTooLargeException. Supongamos que está tratando de enviar un mapa de bits a través de la actividad y si el tamaño excede cierto tamaño de datos, entonces puede ver esta excepción.


Eso es trivial, use Intent.putExtra para pasar datos a la actividad que inicia. Use entonces Bundle.getExtra para recuperarlo.

Ya hay muchas de estas preguntas https://.com/search?q=How+to+pass+a+value+from+one+Activity+to+another+in+Android Asegúrese de utilizar la búsqueda primero la próxima vez .


Implementar de esta manera

String i="hi"; Intent i = new Intent(this, ActivityTwo.class); //Create the bundle Bundle b = new Bundle(); //Add your data to bundle b.putString(“stuff”, i); i.putExtras(b); startActivity(i);

Comienza esa segunda activity , dentro de esta class para utilizar los valores de Bundle usa este código

Bundle bundle = getIntent().getExtras(); String text= bundle.getString("stuff");


Puedes usar Bundle para hacer lo mismo en Android

Crea la intención:

Intent i = new Intent(this, ActivityTwo.class); AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.autocomplete); String getrec=textView.getText().toString(); //Create the bundle Bundle bundle = new Bundle(); //Add your data to bundle bundle.putString(“stuff”, getrec); //Add the bundle to the intent i.putExtras(bundle); //Fire that second activity startActivity(i);

Ahora en su segunda actividad recupere sus datos del paquete:

//Get the bundle Bundle bundle = getIntent().getExtras(); //Extract the data… String stuff = bundle.getString(“stuff”);


Sé que esto es tarde, pero si se necesita acceder y modificar la variable en múltiples intentos, la forma más fácil es usar el modo singleton. Definir una variable global, que sería accesible para todos los intentos.


Forma estándar de pasar datos de una actividad a otra:

Si desea enviar una gran cantidad de datos de una actividad a otra, puede colocar los datos en un paquete y luego pasarlos usando el método putExtra() .

//Create the `intent` Intent i = new Intent(this, ActivityTwo.class); String one="xxxxxxxxxxxxxxx"; String two="xxxxxxxxxxxxxxxxxxxxx"; //Create the bundle Bundle bundle = new Bundle(); //Add your data to bundle bundle.putString(“ONE”, one); bundle.putString(“TWO”, two); //Add the bundle to the intent i.putExtras(bundle); //Fire that second activity startActivity(i);

de lo contrario, puede usar putExtra() directamente con la intención de enviar datos y getExtra() para obtener datos.

Intent i=new Intent(this, ActivityTwo.class); i.putExtra("One",one); i.putExtra("Two",two); startActivity(i);