2012-04-04 7 views
7

Actualmente estoy definiendo una variedad de Fragmentos en el archivo de recursos y ocultándolos en el método onCreate de la Actividad que lo contiene, pero no estoy satisfecho con este enfoque ya que espero que sea una de las características que definiría cada fragmento por sí mismo.¿es posible iniciar un Fragmento oculto al definir su estado en el XML?

¿Estoy objetivando demasiado o me falta la técnica?

gracias, R

Respuesta

4

no estoy satisfecho con este enfoque, ya que sería de esperar que esto sea una de las características que cada fragmento definiría por sí mismo.

No estoy de acuerdo con esa evaluación.

Los fragmentos son responsables de una pequeña sección de la pantalla y de cualquier evento que esté puramente contenido dentro de esa pequeña sección de la pantalla.

Si el fragmento está alojado en la Actividad A o Actividad B o Actividad C, ya sea junto a otros fragmentos o no, si está visible actualmente o no, y así sucesivamente no es responsabilidad del fragmento. Esa responsabilidad recae en la actividad de alojamiento (o actividades, si el fragmento se reutiliza). La actividad de alojamiento web conoce el tamaño de la pantalla y lo que debe hacerse en términos de cargar fragmentos particulares en la pantalla.

Después de todo, las reglas pueden cambiar. Tal vez el fragmento esté oculto en pantallas pequeñas/normales pero visible en pantallas grandes/x grandes. O, quizás, el fragmento se usó inicialmente individualmente, pero luego se carga en un ViewPager. O, quizás, el fragmento se crea dinámicamente como parte de un FragmentTransaction y se agrega a la pila BACK, por lo que el usuario puede deshacerse del fragmento de forma independiente. En mi humilde opinión, el fragmento no debe saber ni preocuparse por nada de esto, ya que todo trasciende los límites de ese fragmento individual.

+0

Gracias Mark, debe replantear mi enfoque a los fragmentos. Creo que los estoy usando de una manera demasiado estática. Los documentos sugieren pensar en el paradigma de la Web, que quizás yo no sea. –

+0

¿Es posible iniciar un fragmento oculto al ocultarlo a través del código java y no de xml? Actualmente estoy poniendo el código de ocultación en el inicio() del fragmento que se ocultará. Pero, todavía es visible. – Namratha

Cuestiones relacionadas