Iniciar una activity presionando un botón.

En este tutorial vamos a explicar como iniciar una nueva activity desde otra, presionando un botón. En Android Studio.

Primero necesitamos tener dos activity distintas.

NOTA: Para crear una nueva activity das click derecho en el panel izquierdo donde están las carpetas de la aplicación. Seleccionas nuevo >  activity y ahí seleccionas el tipo, comúnmente es empity activity.

Estas son las dos activitys que usaremos:

 

 

 

 

 

 

 

 

La primera es MainActivity.java que es donde vamos a llamar a la segunda ( Segunda.java).

En la activity_main.xml, creamos un botón y le damos una id al botón para identificarlo, el código xml es el siguiente:

<Button
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Iniciar Activity"
    />

Lo siguiente es irnos a MainActivity.java, aquí vamos hacer lo siguiente.
Primero declaramos un botón como se muestra a continuación:

private Button mBoton;

Es recomendable obtener el contexto de la activity en una variable, de esta forma se evitan errores. Asi que vamos a crear una variable Contexto, con el Contexto de esta Activity.

private Context mCont=this;

Luego asociamos el botón del xml con el botón recién creado en java, mediante la id del botón. Esto puede ser dentro de el método OnCrete.

mBoton = (Button) findViewById(R.id.id_boton);

Ahora ya podemos trabajar con el botón, le añadimos un onClickListener, para así ejecutar una acción cuando el botón es presionado.

mBoton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) 
        {
            // Acción a realizar cuando se presione el botón
        }
    });
}

Ahora si ya tenemos lo necesario para iniciar la segunda activity, presionando el botón.
Esto lo haremos mediante un intent.

Dentro del onClickListener, añadimos el siguiente código:

Intent intent = new Intent(mCont, Segunda.class);
startActivity(intent);

En la primer linea creamos una variable intent, y le agregamos el contexto de la MainActivity. Luego ponemos el nombre de la activity a iniciar, en este caso es “Segunda”  y le agregamos “.class”.

En l siguiente línea usamos Start activity para iniciar la activity señalada.

Y eso es todo, aquí ya al presionar el botón activamos la segunda activity.

El código completo para la MainActivity.java es:

public class MainActivity extends AppCompatActivity {

    private Button mBoton;
    private Context mCont=this;

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

        mBoton = (Button) findViewById(R.id.id_boton);

        mBoton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent = new Intent(mCont, Segunda.class);
                startActivity(intent);
            }
        });
    }
}

El código completo del activity_main.xml es:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
    android:gravity="center"
    tools:context=".MainActivity">

    <Button
        android:id="@+id/id_boton"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Iniciar Activity"
        />

</RelativeLayout>