2010-12-28 14 views
5

Ho diverse attività nella mia app. Voglio che le mie attività abbiano lo stesso menu, tranne uno. Mi chiedevo se c'è un modo semplice per inserire il menu in tutte le attività selezionate invece di copiare e incollare il menu per ogni singola attività? Fondamentalmente voglio condividere il menu con le attività selezionate.Android: menu di visualizzazione su più attività

Grazie,

risposta

10

creare una classe (dicono classe A) che si estende l'attività e quindi creare tutte le altre attività estendendo questa classe. Ora in A mantenere le voci di menu comuni memorizzati in un vettore e qualsiasi azione specifica del menu può essere aggiunto per qualsiasi attività particolare. In questo modo si evita il problema di copiare e incollare le voci di menu in ogni attività

+0

Grazie per la soluzione! Funzionava, ma non tutte le mie classi stavano estendendo Activity, alcune stavano estendendo ListActivity e dipendevano direttamente da quella classe, quindi non sono sicuro se estendere la classe A in questo caso avrebbe funzionato. – user522559

+1

perché non utilizzare un listview invece di un elenco. listview fornirà tutto ciò che offre l'elenco. Crea semplicemente listview come variabile membro della tua attività e usala – pankajagarwal

1

Questa è l'idea generale di MVC - essere in grado di mostrare diverse viste (attività) con lo stesso modello (dati di menu).

Se si caricano questi menu in modo dinamico, creare una classe Singleton con i dati del menu e scaricarla da essa.

Se questi menu sono già definiti in xxx.xml, è necessario creare un nuovo menu.xml (ad esempio) ed estrarre lì la descrizione del menu. Quindi includilo in tutti i layout di attività che richiedono quel menu.

È anche possibile dinamicamente gonfiare dinamicamente quel menu.xml.

Problemi correlati