Imprimir

En el desarrollo de aplicaciones Android se llama Fragment a una porción o sección del interfaz de usuario que se puede declarar como un elemento independiente de la Activity en la que se incrustará dicho Fragment. Es decir, viene a ser el equivalente a los elementos Panel que se utilizan en aplicaciones de escritorio.

Por tanto, podrás utilizar varios Fragment dentro de una misma Activity o reutilizar un determinado Fragment en múltiples Activity.

fragments
Imagen de developer.android.com

Crear una nueva Activity

Desde el menú contextual del proyecto puedes crear un nuevo Fragment, como se ve en la imagen.

fragments01

En la ventana de diálogo que aparece podrás indicar el nombre deseado para la clase Java asociada al nuevo Fragment y el nombre del archivo XML que contendrá la estructura (layout) del contenido del Fragment. Para hacer más sencilla la compresión de la utilización del Fragment, te recomiendo desmarcar las opciones Include ... con lo que el código Java que se genere será más simple.

fragments02

El código de la clase Java del Fragment será algo similar al siguiente, donde se puede observar que se declara como una clase extendida de Fragment. Simplemente hay declarado un método constructor vacío que debe incluirse obligatoriamente como aparece en el comentario, y el método onCreateView que se ejecutará cuando se muestre el contenido del Fragment, y que lo único que hace es cargar el contenido del archivo layout correspondiente.

public class BlankFragment extends Fragment {
 
    public BlankFragment() {
        // Required empty public constructor
    }
 
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        return inflater.inflate(R.layout.fragment_blank, container, false);
    }
 
}

Si observas el contenido del layout asociado al Fragment, comprobarás que incluye un TextView. Este layout deberás modificarlo para que contenga los elementos y estructura necesarios según la aplicación que estés desarrollando.

fragments03

Insertar el Fragment dentro de la estructura de la Activity

El contenido del Fragment debe insertarse obligatoriamente dentro del layout de una Activity para que pueda ser mostrado al ejecutar la aplicación.

En este ejemplo, se va a insertar el Fragment dentro de la única Activity que disponemos, debajo del TextView que se había generado automáticamente, con el mensaje Hello World! 

Para ello, debes arrastrar un elemento de tipo Fragment desde la paleta hasta la posición deseada dentro de la estructura de la Activity. Aparecerá una ventana de diálogo donde deberás seleccionar el tipo concreto de Fragment que se desea insertar que corresponderá con la clase Java asociada al Fragment que hemos creado anteriormente.

Aparecerá una notificación co el título Rendering problems, donde informa que se debe incluir el atributo tools:layout para que se pueda mostrar el contenido del Fragment en la previsualización de Android Studio. Utilizando el enlace que ofrece, se solucionará este pequeño problema.

Otro problema que ha aparecido en este ejemplo dentro del código fuente XML, es que no se reconoce el identificador textView, que se utiliza para posicionar el Fragment justo debajo de dicho TextView. Si se diera este caso, tan sólo debes asignarle ese identificador al TextView de Hello World, aunque es muy probable que para tu aplicación estés situando la posición del Fragment de otra manera y no tengas este problema.