Domanda

sto imparando a creare delle opzioni del menu per le applicazioni Android.

guida ha il seguente suggerimento per stare con DRY menu:

Suggerimento: se l'applicazione contiene attività plurime e alcuni di loro fornire lo stesso menu Opzioni, considerare la creazione di un'attività che implementa nulla se non la onCreateOptionsMenu () e onOptionsItemSelected () metodi. Poi estendere questa classe per ogni attività che dovrebbero condividere gli stessi Opzioni Menù. In questo modo, dovete gestire un solo set di codice per la gestione di menu azioni e ogni classe discendente eredita i comportamenti dei menu.

Questo sembra problematico. Se le Activitys che devono condividere le stesse opzioni sono ereditate dal classi diverse, che cosa dovrebbe il mio OptionsMenuActivity ereditare da? Ho letto che Java non supporta l'ereditarietà multipla, così come si fa a ottenere intorno a questo?

È stato utile?

Soluzione

La vostra attività che ha il codice per il menu di opzioni dovrebbe estendere la classe di attività.

public class YourRootActivity extends Activity {

// Any other stuff that you want for all activities

 public boolean onCreateOptionsMenu(Menu menu){
 // your main options menu
 }
}

Ora per le classi che hanno bisogno di questo menu, li rendono estendere l'attività che abbiamo creato in precedenza.

class Activity1 extends YourRootActivity {
}

Nel caso in cui si desidera leggere modifiche nel menu delle opzioni nelle sottoclassi, è possibile sovrascrivere il metodo onCreateOptionsMenu in quelle classi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top