Menu en todas las actividades

225 views
Skip to first unread message

Andres Castillo

unread,
Jan 21, 2013, 4:41:33 PM1/21/13
to desarrollad...@googlegroups.com
Hola,  en mi app tengo un menu, pero no quiero repetir el codigo en todas las actividades.

Como puedo hacer que  1 menu aparesca en todas las actividdades ????

Juan de Dios Maldonado Sánchez

unread,
Jan 21, 2013, 5:13:33 PM1/21/13
to desarrollad...@googlegroups.com
Extiende la clase Activity con la funcionalidad que tendrán en común todas las demás. En este caso, el menú.


2013/1/21 Andres Castillo <andresca...@gmail.com>
Hola,  en mi app tengo un menu, pero no quiero repetir el codigo en todas las actividades.

Como puedo hacer que  1 menu aparesca en todas las actividdades ????

--
Para participar es necesario que leas detenidamente las normas del grupo: http://goo.gl/20KhL
---
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a desarrolladores-a...@googlegroups.com
Para ver este debate en la Web, visita https://groups.google.com/d/msg/desarrolladores-android/-/Za92j0jp_oIJ.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
 
 

Andres Castillo

unread,
Jan 21, 2013, 5:42:51 PM1/21/13
to desarrollad...@googlegroups.com
algo asi como esto ??

public class MenuApp extends Activity {

public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater menuInflater = getMenuInflater();
menuInflater.inflate(R.layout.menu, menu);
return true;
}

public boolean onOptionsItemSelected(MenuItem item)
    {
 
        switch (item.getItemId())
        {
        case R.id.menu_bookmark:
            // Single menu item is selected do something
            // Ex: launching new activity/screen or show alert message
            Toast.makeText(this, "Bookmark is Selected", Toast.LENGTH_SHORT).show();
            return true;
 
        case R.id.menu_save:
            Toast.makeText(this, "Save is Selected", Toast.LENGTH_SHORT).show();
            return true;
 
        case R.id.menu_search:
            Toast.makeText(this, "Search is Selected", Toast.LENGTH_SHORT).show();
            return true;
 
        case R.id.menu_share:
            Toast.makeText(this, "Share is Selected", Toast.LENGTH_SHORT).show();
            return true;
 
        case R.id.menu_delete:
            Toast.makeText(this, "Delete is Selected", Toast.LENGTH_SHORT).show();
            return true;
 
        case R.id.menu_preferences:
            Toast.makeText(this, "Preferences is Selected", Toast.LENGTH_SHORT).show();
            return true;
 
        default:
            return super.onOptionsItemSelected(item);
        }
        
    }

}



Y esa actividad la  instancio donde quiera  asi :

public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
MenuApp mn = new MenuApp();
mn.onCreateOptionsMenu(menu);
return true;
}


no funciona!!!

Jc Miñarro

unread,
Jan 21, 2013, 5:49:44 PM1/21/13
to desarrollad...@googlegroups.com

Te ha dicho que extiendas  (heredes en otras palabras) no que instancies....

--
Para participar es necesario que leas detenidamente las normas del grupo: http://goo.gl/20KhL
---
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a desarrolladores-a...@googlegroups.com

Felipe Calderon Barragan

unread,
Jan 21, 2013, 7:33:25 PM1/21/13
to desarrollad...@googlegroups.com
public class MenuActivity extends MenuApp{

}


--
Felipe Calderon Barragan
Linux User # 470534

Fabrizzio Dagnino

unread,
Jan 22, 2013, 8:10:46 AM1/22/13
to desarrollad...@googlegroups.com
Que sucede en los casos en el cual ya extiendes de otra cosa por ejemplo del SherlockBar?


--
Para participar es necesario que leas detenidamente las normas del grupo: http://goo.gl/20KhL
---
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a desarrolladores-a...@googlegroups.com
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
 
 



--
Saludos!

Fabrizzio Dagnino V.
 Juntos por el medio ambiente, prefiera los medios digitales al papel impreso.

Jose Javier

unread,
Jan 22, 2013, 8:31:08 AM1/22/13
to desarrollad...@googlegroups.com
Pues te tocara extender primero la una clase y despues la otra, ya que herencia multiple no hay.

Fabrizzio Dagnino

unread,
Jan 23, 2013, 8:34:07 AM1/23/13
to desarrollad...@googlegroups.com
Toda la razon, logre heredar todo excelente.

Eso si las funcionalidades del botón del menú no las pude heredar, por la cual la tuve que crear en cada actividad, pero las opciones del menú las herede todas.

Gracias!!!

Juan de Dios Maldonado Sánchez

unread,
Jan 23, 2013, 8:52:37 AM1/23/13
to desarrollad...@googlegroups.com
Pues la funcionalidad del menú también la podrías hacer que se heredase. La cosa es que entiendas bien cómo funciona la herencia en Java.


2013/1/23 Fabrizzio Dagnino <fdagn...@gmail.com>

Andres Castillo

unread,
Jan 23, 2013, 10:21:01 AM1/23/13
to desarrollad...@googlegroups.com
Bien a  decir  verdad, no me  gusta la idea  de crear una clase Menu  de  ella heredar   a activity   y  todas  las  actividades  heredarlas de Menu.

No me gusta por que :

- Quisiera que tododas  las  actividades  tuvieran  el mismo menu, pero no esta de menos el momento donde alguna actividad  tuviera un menu distinto.
- Me gustaria que fuera algo mas practico como MENU1 mn = new MENU1();  de tal forma  que seria interesante  tener varios menus  en la aplicacion


Bueno, se qu ees algo riguroso pero si conocen mas soluciones les agradeceria.

Jc Miñarro

unread,
Jan 23, 2013, 10:25:23 AM1/23/13
to desarrollad...@googlegroups.com
Vamos a ver, cuando heredas puedes sobreescribir los diferentes
métodos de una clase para que pueda hacer cosas totalmente diferentes
a las que hace el padre....
Creo que lo que te falta es aprender el concepto de herencia que te 
facilitan los lenguajes orientados a objetos como es en este caso Java


--
Para participar es necesario que leas detenidamente las normas del grupo: http://goo.gl/20KhL
---
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a desarrolladores-a...@googlegroups.com

Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
 
 



--
Un saludo,
Jc Miñarro

-------------------------------------------------------------------------------------------
CarteleraApp - Consulta la cartelera y estrenos de los cines españoles.
CarteleraApp (AdsFree) - Consulta la cartelera y estrenos de los cines españoles.

Daniel Andrade

unread,
Jan 23, 2013, 10:58:19 AM1/23/13
to desarrollad...@googlegroups.com
Lo que dice Miñarro, no seria Polimofrfismo?

Jc Miñarro

unread,
Jan 23, 2013, 11:21:14 AM1/23/13
to desarrollad...@googlegroups.com
Polimorfismo es que teniendo una clase padre que tiene un método toDo()
las clases hijas sobreescriben ese método de diferente manera, y entonces
cuando tu llamas al método toDo() este ejecuta el código del método toDo()
que corresponde al tipo que del que se ha creado la variable.
En este caso ese método toDo() tendría que ser el onMenuOpened(...) y 
onMenuSelectedItem(...) 


2013/1/23 Daniel Andrade <elda...@gmail.com>
Reply all
Reply to author
Forward
0 new messages