ANDROID: 011-PASO DE PARÁMETROS ENTRE ACTIVIDADES

Kevin Arias
ANDROID: 011-PASO DE PARÁMETROS ENTRE ACTIVIDADES
"Continuando con el tema del manejo de actividades, ahora veremos como pasar parámetros de una actividad a otra, este caso puede ser muy útil cuando queremos realizar cierta operación pero haciendo uso de datos de una actividad anterior a la actual, es decir, podemos solicitar a un usuario que llene información en otra actividad y darle siguiente con lo que aún podríamos necesitar la información cargada anteriormente pero ya mostrándose en otra actividad; ¿no sabes como hacerlo? pues aquí lo aprenderemos."

En este caso debemos usar el putExtras de la clase Intent en lo cual enviaremos la información necesario como un array de objetos para posteriormente tratarlo en la actividad siguiente que reciba dichos parámetros a través del Intent ya mencionado anteriormente.

A continuación se les deja la parte del código más importante mostrado en el ejempo del video.

Código Java de la primera actividad.

private Context thisContext=this;

private Button btnIrOtraActividad;
private EditText txtDato;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    btnIrOtraActividad=(Button) findViewById(R.id.btnIrOtraActividad);
    txtDato=(EditText) findViewById(R.id.txtDato);

    btnIrOtraActividad.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            String dato=txtDato.getText().toString();

            Intent intent=new Intent(thisContext, OtraActivity.class);

            intent.putExtra("parametro", new Object[]{dato, "Dato estático"});

            startActivity(intent);
        }
    });
}

Código Java de la segunda actividad.

private TextView lblTemporal;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_otra);

    lblTemporal=(TextView) findViewById(R.id.lblTemporal);

    Intent intent=getIntent();

    Bundle bundle=intent.getExtras();

    Object[] datosRecibidos=null;

    if(bundle!=null)
    {
        datosRecibidos=(Object[])bundle.get("parametro");
    }

    if(datosRecibidos!=null)
    {
        Toast.makeText(getApplicationContext(), ((String)datosRecibidos[0]), Toast.LENGTH_LONG).show();
        lblTemporal.setText(((String)datosRecibidos[1]));
    }
}

Sin más, les dejo con el siguiente video para mayor detalle del caso.


Archivo de soporte disponible
Descarga los materiales del tutorial para practicar localmente.
Descargar archivo
¿Te sirvió este artículo? Apóyanos con una donación para seguir creando contenido gratuito de calidad:
Sobre el autor
Kevin Arnold Arias Figueroa
SOFTWARE ARCHITECT - CODIDEEP E.I.R.L.
Profesional en tecnologías de la información con más de 10 años de experiencia en desarrollo de software empresarial, con amplios conocimientos en manejo de arquitecturas de software de escala vertical y horizontal, gestión de proyectos, liderazgo de equipos y dominio en modelado de procesos a gran escala.
Anterior Siguiente