2011-02-01 11 views
8

Nella mia domanda ci sono 14 attività. Di questa attività 9 contiene la barra del titolo e il pannello delle schede personalizzati. quindi qui ho bisogno di scrivere questo codice comune in un posto invece del codice ridondante in ogni attività che contiene la barra del titolo personalizzata e il codice del pannello (il layout e il codice specifico dell'attività)Come posso creare codice comune per parti di attività Android?

Quali sono i modi possibili per farlo?

risposta

11

Il senso comune è:

  • creare una classe super-chiamato, per esempio, CommonActivity che si estende Activity
  • mettere il codice boilerplate dentro quella classe
  • poi prendere la vostra attività si estendono CommonActivity invece di Activity :

Ecco un semplice esempio:

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

    protected void moreRepeatitiveCode(){ 
    } 
} 

E le vostre attività in corso:

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

Non dimenticate di aggiungere 'super.onCreate (b)' nel corpo della funzione, o il compilatore sarà sconvolto. –

+0

Buona cattura, Paul. Bene, il compilatore non si lamenterà se si dimentica il super.onCreate (b), è completamente legale, ma è necessario dal momento che si desidera eseguire il codice boilerplate della super-classe. – Cristian

+0

Anche se è legale saltare la chiamata ai metodi super, se non lo si fa con i metodi del ciclo di vita della classe di attività, fallirà in fase di runtime. – Cristian

1

Hmm .. codice comune non sempre bisogno di essere in classe di attività, ma solo classe normale. Di quanto potremmo chiamare quei metodi in base alle nostre esigenze facendo riferimento alla classe di codice comune.

Ho ragione con questo example?

Naturalmente nel caso in cui ne abbiamo bisogno come attività, al di sopra proposta funzionare perfettamente se ci prendiamo cura del ciclo di vita di attività e noi non dimenticare di aggiungerlo al manifestarsi di file.

In generale le attività devono solo creare l'interfaccia utente, gestire gli eventi e delegare la logica aziendale e/o altre azioni agli altri componenti nella nostra app.

Acclamazioni

Problemi correlati