iberck
4/8/2015 - 10:21 PM

Fragments

Fragments

Crear un fragmento a partir de una vista

En los comentarios se explica cómo crear el fragmento:

public void onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

    // Este método DEBE retornar una vista que no tenga un padre.
    return inflater.inflate(R.layout.article_view, container, false);
    
    // container: es el contenedor en el que se agregó el fragmento
    // fragmentTx.add(containerViewId, fragment)
}

Inflate

Proceso de cargar y transformar: xml---->views

public View inflate (int resource, ViewGroup root, boolean attachToRoot)

resource: id del recurso xml que se va a cargar.

root: Optional view to be the parent of the generated hierarchy (if attachToRoot is true), or else simply an object that provides a set of LayoutParams values for root of the returned hierarchy (if attachToRoot is false.)

attachToRoot Whether the inflated hierarchy should be attached to the root parameter? If false, root is only used to create the correct subclass of LayoutParams for the root view in the XML.

Fragment

Un fragmento es como un componente que puede ser reutilizado en múltiples actividades. Dicho fragmento al igual que las actividades tiene un ciclo de vida.

Un fragmento puede ser reutilizado como un componente en distintas actividades para evitar repetir código, o para diseñar distintos layouts de acuerdo al tamaño del dispositivo, cada layout colocará los fragmentos como más le convenga.

Transacciones en los fragmentos

Las transacciones sirven para definir un conjunto de operaciones (agregar, remover, remplazar fragmentos). Una vez definida la transacción se puede agregar al backstack y al presionar "back" la actividad volverá al estado anterior antes de la transacción.

Recursos

Handling Configuration Changes with Fragments

Buenas prácticas usando fragments en android