Android Enviar parametros entre Activities

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.

Android Activity Param

Android Activity Param

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

Hi! If you find my posts helpful, please support me by inviting me for a coffee :)

Ver también