2010-12-28 12 views
5

Tengo varias actividades en mi aplicación. Quiero que mis actividades tengan el mismo elemento de menú, excepto uno. Me preguntaba si existe una manera fácil de poner el elemento de menú en todas las actividades seleccionadas en lugar de copiar y pegar el elemento de menú para cada actividad individual. Básicamente quiero compartir el elemento de menú con actividades seleccionadas.Android: menú de visualización en varias actividades

Gracias,

Respuesta

10

crear una clase (clase A dicen) que se extiende la actividad y luego crear todas sus otras actividades mediante la extensión de esta clase. Ahora, en A, los elementos comunes del menú almacenados en un vector y cualquier acción específica del menú se pueden agregar para cualquier actividad en particular. De esta forma se evita el problema de copiar y pegar los elementos del menú en cada actividad

+0

¡Gracias por la solución! Funcionó, pero no todas mis clases estaban ampliando Activity, algunas extendían ListActivity y tenían dependencias en esa clase directamente, así que no estoy seguro de si la ampliación de la clase A en este caso funcionaría. – user522559

+1

por qué no usar una vista de lista en lugar de una actividad de lista. listview proporcionará todo lo que proporciona la actividad de conexión. Solo crea listview como una variable miembro de tu actividad y úsala – pankajagarwal

1

Esta es la idea general detrás de MVC: poder mostrar diferentes Vistas (Actividades) con el mismo modelo (datos del menú).

Si carga estos menús dinámicamente, haga una clase Singleton con los datos del menú y obténgalos.

Si estos menús ya están definidos en xxx.xml, debe crear un nuevo menú.xml (por ejemplo) y extraer la descripción del menú allí. Luego, inclúyalo en todos los diseños de actividades que necesiten ese menú.

También siempre puede inflar dinámicamente ese menú.xml.

Cuestiones relacionadas