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.

[ANDROID] ANDROID: 011-PASO DE PARÁMETROS ENTRE ACTIVIDADES

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.

Autor: Kevin Arias

Comentarios