Curso Android Básico App para un Restaurante
¿Cómo lanzar una actividad en Android Studio?¿Cómo pasar variables?
Veremos cómo lanzar una Activity desde un Botón y pasar variables mediante los putExtra usando el concepto de intentos o mejor llamados Intent.
Activities, pasar entre actividades, variables
Es un componente que muestra una pantalla con la cual los usuarios pueden interactuar, poseen un ciclo de vida los cuales son;
.
Activity_main.xml
Básicamente vemos en esta pantalla que se ha agregado dos elementos un EditText para enviar un texto y un Botón para escuchar el click
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<Button
android:id="@+id/btnLanzar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=" IR A LA ACTIVIDAD 2"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<EditText
android:id="@+id/txtnombre"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
android:layout_marginBottom="8dp"
android:text="TextView"
app:layout_constraintBottom_toTopOf="@+id/btnLanzar"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>
Main_activity.java
Es esta, luego de castear los dos widget agregamos el escuchador onclicklistener, esta accion lo que hará preguntar si el EditText está vacio o no, si es si mostrará una notificación tipo Toast solicitando que ingrese su nombre, y en el caso de que no este vacio procederemos a lanzar un Intent creando con los parámetros correspondientes, agregamos un putExtra para crear una variable llamada nombre, ésta variable tendrá como valor el string capturado del Widget EditText.
public class MainActivity extends AppCompatActivity {
private Button btn;
private EditText texto;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = findViewById(R.id.btnLanzar);
texto = findViewById(R.id.txtnombre);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (texto.getText().toString().isEmpty()) {
Toast.makeText(
getApplicationContext(),
"INGRESE SU NOMBRE",
Toast.LENGTH_LONG
).show();
} else {
startActivity(
new Intent(
getApplicationContext(),
SegundaActivity.class
)
.putExtra("nombre", texto.getText().toString())
);
}
}
});
}
}
Segunda_activity.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".SegundaActivity">
<TextView
android:id="@+id/recibirTexto"
android:gravity="center_horizontal"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:layout_marginBottom="8dp"
android:text="TextView"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.17" />
</android.support.constraint.ConstraintLayout>
Segunda_Activity.java
public class SegundaActivity extends AppCompatActivity {
private TextView recibido;
private String valor;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_segunda);
recibido= findViewById(R.id.recibirTexto);
valor = getIntent().getExtras().getString("nombre");
recibido.setText(valor);
}
}
1933 visitas
« Capítulo 15 – Layouts
Capítulo 17 – Bosquejos de la Aplicación »
Descarga el código fuente del proyecto adquiriendo el curso completo
Comprar© Copyright Codea::App Cursos de Programación Online | LATAM | 2020 - 2024