2011-02-01 7 views
8

En mi aplicación hay 14 actividades. Fuera de esa actividad, 9 contiene una barra de título personalizada y un panel de pestañas. así que aquí necesito escribir este código común en un lugar en lugar de código redundante en cada actividad que contiene una barra de título personalizada y un código de panel de pestañas (es decir, el diseño y su código específico de actividad)¿Cómo creo código común para partes de actividades de Android?

¿Cuáles son las formas posibles de hacerlo?

Respuesta

11

La forma más común es:

  • Crear una superclase llamada, por ejemplo, CommonActivity cuales se extiende Activity
  • poner el código repetitivo dentro de esa clase
  • luego hacer sus actividades se extienden CommonActivity en lugar de Activity :

Aquí un ejemplo simple:

public class CommonActivity extends Activity{ 
    public void onCreate(Bundle b){ 
     super.onCreate(b); 
     // code that is repeated 
    } 

    protected void moreRepeatitiveCode(){ 
    } 
} 

y sus actividades actuales:

public class AnActivity extends CommonActivity{ 
    public void onCreate(Bundle b){ 
     super.onCreate(b); 
     // specific code 
    } 
} 
+0

No se olvide de añadir 'super.onCreate (b)' en el cuerpo de la función, o el compilador se molesta. –

+0

Buena captura, Paul. Bueno, el compilador no se quejará si olvida el super.onCreate (b), es completamente legal, pero es necesario ya que quiere ejecutar el código repetitivo de la superclase. – Cristian

+0

Aunque es legal omitir la llamada a los supermétodos, si no lo hace con los métodos del ciclo de vida de la clase de actividad, fallará en el tiempo de ejecución. – Cristian

1

Hmm .. El código común no siempre necesita estar en la clase de actividad, pero sólo una clase regular. Entonces podríamos llamar esos métodos de acuerdo con nuestras necesidades refiriéndonos a la clase de código común.

¿Estoy bien con esto example?

Por supuesto, en caso de que lo necesitan, como la actividad, sobre la propuesta podría funcionar perfectamente si nos ocupamos de ciclo de vida de actividad y no se olvide de añadirlo a manifestar archivo.

En general, las actividades solo deben crear una IU, manejar las ocurrencias de eventos y delegar la lógica comercial u otras acciones a los otros componentes de nuestra aplicación.

Saludos

Cuestiones relacionadas