¿Cómo utilizar actividades o fragmentos en un flujo de trabajo de varias pantallas?

Tengo un flujo de trabajo con varias pantallas con diferentes preguntas y opciones de respuesta. Así que hay una pregunta en la pantalla 1 y el usuario hace su elección -> el usuario pulsa el botón continuar -> la pantalla 2 se abre con otra pregunta -> el usuario hace su elección y continúa -> la pantalla 3 se abre, etc …

Pero en realidad no estoy seguro de cuál es la mejor manera de implementar este comportamiento en consideración de una buena mantenibilidad y claridad. Creo que son al menos tres opciones:

  1. Cada pantalla obtiene su propia actividad y archivo de diseño y pasar los datos a través de intentos.

  2. 1 Actividad y fragmentos diferentes, cada fragmento tiene su propio diseño. Si se pulsa el botón de continuar, el fragmento se reemplazará con el fragmento siguiente.

  3. 1 Actividad y diferentes archivos de diseño. Sólo el diseño se reemplaza y todo lo demás se maneja en la actividad.

En realidad ya he empezado a implementar con la opción 2.) pero no sé si esto no es "demasiado".

Las pautas de la API de Android dicen que debe utilizar Fragments para la interfaz de usuario multipano y para la reutilización . Pero en realidad no quiero construir una interfaz de usuario multipano en este caso y los fragmentos no se reutilizan. Así que quizá 3.) es el camino a seguir? ¿O incluso 1.) ?

Yo elegiría su opción # 3. Las razones son:

  • La actividad toma un poco de memoria en comparación con el fragmento o los diseños. La interfaz entre las actividades y los fragmentos es un poco incómoda, aunque me acostumbré. No lo recomiendo para su caso.
  • Me gustan los fragmentos. Sin embargo, si todos los fragmentos son similares en apariencia / sensación, entonces ¿por qué tomar el tiempo de la computadora para ocultar / mostrar o reemplazarlos. La razón de los fragmentos se indica en la página web de Google, como en la construcción de una interfaz de usuario flexible . No creo que necesite una interfaz de usuario flexible como se dijo en la intención de Google.
  • Yo sugeriría una actividad, al menos un fragmento para todas las preguntas / respuestas. Simplemente usa un diseño para cambiar el texto / contenido. Si la interfaz de usuario es diferente, reemplace el diseño por otro. Es normal que una aplicación para Android tenga tantos diseños diferentes de todos modos. Android tiene un poco de memoria para cargar diseños, pero es bastante rápido y eficiente.

Para el diseño de la opción 3 : Puede usar el método inflate () para cargar un determinado diseño y reemplazar uno. Un buen ejemplo en SO link @ Android layout que reemplaza una vista con otra vista en tiempo de ejecución

  • Archivos de lista de android contenidos en la subcarpeta de activos
  • ¿Es seguro pasar el contexto a varios hilos?
  • Error de generación al usar clase interna estática
  • Google Maps de Google - Error al inflar el fragmento de clase
  • ¿Cómo implementar Moquette broker en Android?
  • GreenBroot EventBus no pudo enviar el evento
  • Pojo analiza gson con nombres de java no válidos
  • Programa Hello World para Google Glass - Paso a paso
  • Uso de la actividad de la cámara en Android
  • Falta gradlew en el proyecto generado de android
  • Prueba de unidad Android: ¿Cómo hacer que una clase sea más comprobable?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.