Android Enviar parametros entre Activities

By | 01/30/2017

A fin de enviar parámetros entre una Activity debes utilizar la clase Intent que te sirve para solicitar acciones de tu aplicación. Intent describe la Actividad que quieres abrir y los parámetros que deseas enviarle.

Android Enviar Parametros entre Activities

Android Enviar Parametros entre Activities

Cómo enviar parámetros a una Activity:

Para iniciar una Activity debemos crear un intent con el contexto y la class de la segunda Activity.
Luego al intent le seteas los parámetros con key_del_parametro / valor_del_parametro

	...
	Intent intent = new Intent(getApplicationContext(), SecondActivity.class);
	intent.putExtra("DATA_NAME_KEY", name.getText().toString());
	intent.putExtra("DATA_LASTNAME_KEY", lastname.getText().toString());	
	...	
 

Cómo recibir parámetros desde una Activity:

Los parámetros los recibes en el método “onCreate” que inicializa tu actividad dentro del parámetro Bundle

        if (bundle != null) {
            String nameParam = bundle.getString("DATA_NAME_KEY");
            String lastNameParam = bundle.getString("DATA_LASTNAME_KEY");
            textViewName.setText(nameParam);
            textViewLastname.setText(lastNameParam);
       }
 

Una forma corta que también puedes utilizar

	getIntent().getStringExtra("DATA_NAME_KEY")

El código completo te queda de este modo

En este ejemplo hay dos activities, la primera pide dos datos y los pasa a la segunda que los muestra.

public class MainActivity extends AppCompatActivity {

    private EditText name;
    private EditText lastname;

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

        name = (EditText)  findViewById(R.id.name);
        lastname = (EditText)  findViewById(R.id.lastname);

    }

    public void sendParam(View view) {
        Intent intent = new Intent(getApplicationContext(), SecondActivity.class);
        intent.putExtra("DATA_NAME_KEY", name.getText().toString());
        intent.putExtra("DATA_LASTNAME_KEY", lastname.getText().toString());
        startActivity(intent);
    }
}
public class SecondActivity extends AppCompatActivity {

    private TextView textViewName;
    private TextView textViewLastname;

    @Override
    protected void onCreate(Bundle bundle) {
        super.onCreate(bundle);
        setContentView(R.layout.activity_second);

        textViewName = (TextView) findViewById(R.id.textViewName);
        textViewLastname = (TextView) findViewById(R.id.textViewLastname);

        if (bundle != null) {
            String nameParam = bundle.getString("DATA_NAME_KEY");
            String lastNameParam = bundle.getString("DATA_LASTNAME_KEY");
            textViewName.setText(nameParam);
            textViewLastname.setText(lastNameParam);
        }

        // short way to get intent paramts
        // textViewName.setText(getIntent().getStringExtra("DATA_NAME_KEY"));
        // textViewLastname.setText(getIntent().getStringExtra("DATA_LASTNAME_KEY"));

    }
}

Descarga este código completo para visualizar en Android Studio

Compartir esto:

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *