¿Hay alguna manera conveniente de mostrar las mismas opciones de menú de Opciones en varias Actividades?Código de menú Opciones de reutilización
Ejemplo: En mi aplicación, muestro una guía de TV de una de tres maneras.
- Siete guía días (TabActivity con 7 pestañas)
- Todos los canales 'Mostrando' (ListActivity)
- Todos los espectáculos hoy por hora de inicio (Actividad - podría ser cambiado fácilmente a ListActivity)
Para el menú Opciones en la TabActivity
, el código es bastante simple ...
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
menu.clear();
inflater.inflate(R.menu.gv_options_menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.view:
...
...
}
}
... b Por el momento parece que necesito copiarlo/pegarlo en las otras dos actividades que no me gusta hacer. Si cambio el código del menú de Opciones para uno, también tendré que hacerlo para los otros dos.
La única alternativa que puedo pensar es que tengo una clase 'auxiliar' (POJO) a la que podría agregar un método y pasar el context
para permitir el uso del método getMenuInflator()
y otro método que podría pasar el resultado de item.getItemId()
para procesar con la caja del interruptor.
¿Cuál es la forma normal de tener múltiples Actividades con el mismo menú de Opciones?
Al final resultó que estaba olvidando que los contenidos de las pestañas de la actividad de la guía de 7 días son en realidad ListActivitys. He cambiado la actividad 'all shows today ...' (no 3 en mi pregunta) para ser también una ListActivity y definió una clase base que ahora se extienden las tres. Uno de esos momentos de no poder ver el bosque por los árboles. Gracias. – Squonk