Foros del Web » Programando para Internet » Android »

Como abrir el menu desde codigo?

Estas en el tema de Como abrir el menu desde codigo? en el foro de Android en Foros del Web. Hola amigos.. ya cree un menu personalizado en android, lo tengo para una actividad en especifico. Pero quiero colocar un boton en la parte inferior ...
  #1 (permalink)  
Antiguo 29/03/2013, 15:31
 
Fecha de Ingreso: marzo-2013
Mensajes: 11
Antigüedad: 11 años, 1 mes
Puntos: 0
Exclamación Como abrir el menu desde codigo?

Hola amigos.. ya cree un menu personalizado en android, lo tengo para una actividad en especifico. Pero quiero colocar un boton en la parte inferior que me muestre el menu de mi actividad, ya lo muestra presionando el boton Menu del dispositivo pero quisiera lanzar el menu desde codigo.

alguien sabe como hacerlo????

ASI LANZO MI MENU:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
super.onCreateOptionsMenu(menu);
MenuInflater mi=getMenuInflater();
mi.inflate(R.menu.jugando, menu);
return true;
}
  #2 (permalink)  
Antiguo 29/03/2013, 18:06
 
Fecha de Ingreso: abril-2011
Ubicación: Alicante
Mensajes: 52
Antigüedad: 13 años
Puntos: 3
Respuesta: Como abrir el menu desde codigo?

Crea un método en la actividad que se llame por ejemplo, te quedaría algo así:

Código:
private void lanzarMenu(Menu menu){
       MenuInflater mi=getMenuInflater();
       mi.inflate(R.menu.jugando, menu);
}
y luego deberías crear un evento en el Oncreate para que cuando pulses tu botón se muestre el menú, algo como esto:
Código:
tuVariableBoton.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        //Aquí llamas al método que te has creado
        lanzarMenu(menu);
    }
});
Espero haberte ayudado, si no entiendes algo ya sabes.... no dudes en preguntar.
  #3 (permalink)  
Antiguo 29/03/2013, 22:12
 
Fecha de Ingreso: marzo-2013
Mensajes: 11
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Como abrir el menu desde codigo?

Cita:
Iniciado por capixi Ver Mensaje
Crea un método en la actividad que se llame por ejemplo, te quedaría algo así:

Código:
private void lanzarMenu(Menu menu){
       MenuInflater mi=getMenuInflater();
       mi.inflate(R.menu.jugando, menu);
}
y luego deberías crear un evento en el Oncreate para que cuando pulses tu botón se muestre el menú, algo como esto:
Código:
tuVariableBoton.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        //Aquí llamas al método que te has creado
        lanzarMenu(menu);
    }
});
Espero haberte ayudado, si no entiendes algo ya sabes.... no dudes en preguntar.

Si.. tengo una pregunta.. el objeto menu del metodo onClick, de donde lo sacas para mandarselo al metodo lanzarMenu. Pensé que un objeto: Menu miMenu cargarlo a la hora crear el menu y luego mandarlo con el metodo del evento pero no funciona!
  #4 (permalink)  
Antiguo 31/03/2013, 14:23
 
Fecha de Ingreso: abril-2011
Ubicación: Alicante
Mensajes: 52
Antigüedad: 13 años
Puntos: 3
Respuesta: Como abrir el menu desde codigo?

Hola de nuevo chambaque, perdona por mi contestación anterior no es correcta... No obstante he encontrado y probado la solución para tu problema:

Código:
tuVariableBoton.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        //Aquí llamas al método del sistema que permite abrir tu menú
       	openOptionsMenu();
    }
});
También deberás dejar en tu código el método:

Código:
  @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.jugando, menu);
        return true;
    }
openOptionsMenu() es un método que viene definido en el API de android, lo que hará es abrir el menú ya creado por el método onCreateOptionsMenu()

Aquí te dejo el link a la documentación:
http://developer.android.com/intl/es...ionsMenu%28%29


Aquí te pego el ejemplo que probé:
Código:
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    	
    	Button btnlanzar = (Button)findViewById(R.id.btnLanzar);
    	btnlanzar.setOnClickListener(new OnClickListener() {
			
			public void onClick(View v) {
			
				 openOptionsMenu();
			}
		});
    }
   
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
Bueno, espero haberte ayudado. Saludos.

Última edición por capixi; 31/03/2013 a las 14:24 Razón: UNA LÍNEA DE CÓDIGO NO INTERESABA PARA ESTE EJEMPLO
  #5 (permalink)  
Antiguo 31/03/2013, 19:24
 
Fecha de Ingreso: marzo-2013
Mensajes: 11
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Como abrir el menu desde codigo?

gracias..! exacto ese metodo.

Aunque ya lo habia descubierto..!

Pero mil gracias..!

Etiquetas: lanzar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:48.