Cómo llamar a una Activity desde un fragment

Estoy respondiendo a un amigo de Ecuador la duda que tenia. Hoy les voy a contar cómo llamar un Activity desde fragment. Si estás programando en Android y estás en medio de un fragmento, seguro que terminas haciéndote esta pregunta. ¿Como llamar a un activity des un fragment?
Ya desde hace unas cuantas APIs atrás tenemos los fragmentos para programar apps Android más bonitas. Pero si estás programando y estás dentro de un fragmento, verás que si pones el código de siempre para invocar la actividad no te va a funcionar. Aquí tenemos una guía de cómo pasar de un layout a otro, pero se hace distinto.
En este tutorial, voy a contarte rápidamente como hago siempre. Empezamos el tuto porque verás que es muy fácil:

PASO 1: Debemos crear nuestro fragment e insertar un botón dentro.

 

Editamos nuestro activity_main.xml

activity_main

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/fragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <Button
        android:text="ENTRAR"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/btn1" />
</FrameLayout>

 

También debemos crear otro activity, deben hacerlo como muestro en la siguiente imagen, yo le puse de nombre SegundoActivity.
Hacer clic en la imagen para ver mejor
 
Ahora debemos ir a nuestro MainActivity.java y empezar con el código del ejercicio.

MainActivity

public class MainActivity extends FragmentActivity {

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

        Button entry = (Button) findViewById(R.id.btn1);

        //hago clic y se abre el 2
        entry.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this.getBaseContext(), 
                SegundoActivity.class);
                startActivity(intent);
            }
        });
    }


}
Si observamos un poco el código arriba vemos que hay gran diferencia cuando hacíamos entre Activity y Activity:
Intent ListFruta = new Intent(getApplicationContext(), SegundoActivity.class);
     startActivity(ListFruta );
Y el cambio  de Fragment a Activity es fácil:
Intent ListFruta = new Intent(MainActivity.this.getBaseContext(),SegundoActivity.class);
                startActivity(ListFruta );

 

Igual si piensas que hablo escribo en chino te dejo el ejercicio:

Un comentario en «Cómo llamar a una Activity desde un fragment»

  1. Pedro Cevallos

    Agradezco el ejemplo pero la verdad es que quisiera hacerlo mas explicito creando un Fragment completo y de ese pasar a una actividad, el ejemplo como esta si funciona pero no me ayudo mucho gracias.
    Discúlpeme desde luego, soy un principiante que recién estoy aprendiendo, nuevamente gracias.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

WhatsApp chat