¿Cuál es la forma óptima de compartir código entre Actividades con diferentes clases base?

Tengo el siguiente problema:
Tengo una clase abstracta de la actividad , puedo llamar MyAbstractActivity , que contiene un cierto código que quisiera reutilizar (por ejemplo: una carpeta de servicio estándar, artículos comunes del menú, código común de la inicialización, etc. etc.). Normalmente lo usaría para subclasificar mis actividades concretas y terminar con ella.

Sin embargo, de vez en cuando necesito usar otro supertipo, como ListActivity o MapActivity .

Así que la pregunta es: ¿cómo evito duplicar ese código de soporte dentro de una Actividad, si tengo que usar otra clase base?

He pensado en una solución basada en el patrón decorador, como éste:
Decorador de actividades .

Sin embargo, veo un problema con este enfoque: ¿Qué hacer con los métodos protegidos (como onCreate () )? ¿Debería introducir una clase adicional de "puente" que los haga públicos para el propósito del decorador, de manera similar a la forma presentada abajo (comenzando a parecer un poco bizantino …)?

caso extremo

¿Cualquier otra manera?

Espero que me haya hecho relativamente claro. Gracias de antemano por cualquier comentario!

PD. Usar clases de utilidad estática no es una buena solución en mi opinión, ya que introduce una posibilidad de errores de programación difíciles de identificar.

Si entiendo correctamente, ni los fragmentos ni el patrón del decorador son soluciones limpias o apropiadas para lo que quieres lograr. Fueron diseñados para resolver otros problemas.

Me encuentro moviendo el código de "soporte", o "framework", o "todo lo que verbose, repetitivo, boilerplate crap" a los métodos de utilidad estática. Esto no es necesariamente el enfoque que tomaría en un proyecto no-Android, pero en mis proyectos de Android, funciona bastante maldito bien.

Además, sepa que no necesita subclasificar ListActivity para tener un ListView.

  • ¿Cómo desinstalar completamente el SDK de tejido de Twitter del proyecto android?
  • ¿Cómo hago una solicitud http usando cookies en Android?
  • Torch / Flashlight app (android.hardware.camera está obsoleto)
  • Uso de ProGuard con Android
  • OkHttpClient cerrar la conexión
  • Android Studio JUnit pruebas Java puro
  • Calendario de Android - Comienza semana con lunes
  • Base de datos no copiar desde activos
  • Com.android.ant.SetupTask no se puede encontrar
  • Error de sintaxis: insert} para completar ClassBody
  • Convertir un teléfono Android en un joypad y conectarlo a la computadora a través de Wi-Fi
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.