¿Estoy usando fragmentos correctamente?

Estoy un poco confundido acerca de cuál es la manera ideológicamente correcta de usar fragmentos.

Como afirman los desarrolladores de Android,

Un Fragmento representa un comportamiento o una parte de la interfaz de usuario en una Actividad. Puede combinar varios fragmentos en una sola actividad para crear una interfaz de usuario de varios paneles y reutilizar un fragmento en varias actividades. Se puede pensar en un fragmento como una sección modular de una actividad, que tiene su propio ciclo de vida, recibe sus propios eventos de entrada y que puede agregar o quitar mientras se está ejecutando la actividad (algo así como una "sub actividad" que puede reutilización en diferentes actividades).

Y también:

Fragmentos descomponen la funcionalidad de la aplicación y la interfaz de usuario en módulos reutilizables Agregar fragmentos múltiples a una pantalla para evitar las actividades de conmutación

Y mi uso de fragmentos va de la siguiente manera: Tengo sólo una actividad principal y un montón de fragmentos. En lugar de iniciar actividades, prefiero reemplazar fragmentos. Por ejemplo, tengo FeedsFragment , FriendsFragment , MessagesFragment , y cuando selecciono algo del menú deslizante, mi Activity solo reemplaza al Fragment principal. Si estoy lanzando un Fragmento de otro Fragmento, puse el anterior en backstack.

Algunos fragmentos requieren la Actividad para cambiar la barra de acción, y lo hago directamente por

 ((MainActivity)getActivity()).setupActionBar(); 

Actualmente no tengo ningún código que admita los diseños de tabletas (como se ve en los ejemplos de los desarrolladores de Android), pero estoy planeando agregarlo.

Entonces, ¿es esta la forma correcta de hacer las cosas? ¿O estoy perdiendo algo por completo?

Como sabes, fragmento tiene su propio ciclo de vida, y puedes usar su evento cuando quieras desde el ciclo de vida de la actividad.

Pero el ciclo de vida de Fragmentos depende del ciclo de vida de la actividad Así que cuando se destruye la actividad destruye también fragmentos.

 // Create new fragment and transaction Fragment newFragment = new ExampleFragment(); FragmentTransaction transaction = getFragmentManager().beginTransaction(); // Replace whatever is in the fragment_container view with this fragment, // and add the transaction to the back stack transaction.replace(R.id.fragment_container, newFragment); transaction.addToBackStack(null); // Commit the transaction transaction.commit(); 

Yo puede utilizar la transacción de fragmentos, para reemplazarlos en una actividad, creo que se utiliza de la misma manera,

creo que arent camino equivocado y no hay ningún problema para utilizar fragmento en lugar de utilizar diferentes actividades.

Pero usted debe pensar, realmente necesita usarlos en una actividad? Si usted no necesita demostrarlos en una actividad usted no necesita utilizar el fragmento.

Un fragmento debe estar siempre incrustado en una actividad y el ciclo de vida del fragmento se ve afectado directamente por el ciclo de vida de la actividad del host. Por ejemplo, cuando la actividad se detiene, también lo son todos los fragmentos en ella, y cuando la actividad se destruye, también lo son todos los fragmentos. Sin embargo, mientras se está ejecutando una actividad (se encuentra en el estado de ciclo de vida reanudado), puede manipular cada fragmento de forma independiente, como agregar o quitar. Cuando realice una transacción de fragmentos de este tipo, también puede agregarla a una pila posterior administrada por la actividad; cada entrada de la pila posterior de la actividad es un registro de la transacción de fragmentos que se produjo. La pila trasera permite al usuario invertir una transacción de fragmentos (navegar hacia atrás), presionando el botón Atrás.

Como resultado, no está mal, pero creo que si no lo necesita, la creación de diferentes actividades es fácil de mantener.

introduzca la descripción de la imagen aquí

  • Otto lanza "Objeto ya registrado" onResume en viewpager
  • Fragmentos de Android en la API inferior
  • Un escáner de QR dentro de un fragmento
  • Cómo podemos eliminar fragmentos agregados dinámicamente del diseño
  • ¿Por qué Kit Kat requiere el uso de isValidFragment?
  • Android Material diseño transiciones
  • ¿Hay un patrón de diseño de Android para manejar múltiples fragmentos en una sola actividad?
  • Prueba de fragmentos con Robolectric 3.0
  • Android Fragment, No se encontró ninguna vista para id dentro de TabHost
  • AddTextChangedListener y onTextChanged siempre se llaman cuando se carga Android Fragment
  • cómo acceder al botón del fragmento A del fragmento B
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.