Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android

Respuesta
 
Herramientas
  #1  
Viejo 25/10/14, 06:06:35
Array

[xs_avatar]
EdRivera EdRivera no está en línea
Usuario novato en la web
 
Fecha de registro: feb 2014
Mensajes: 3
Modelo de smartphone: BLU Dash 4.5
Tu operador: Movistar
Ejecutar mediante programacion un menu

Hola a todos tengo un menu personal en un Action Bar de un Fragment y quiero que cuando se precione el boton fisico menu del celular se muestre el menu que he creado

lo que tengo es lo siguiemte:

El fragment_menu.xml es donde tengo formado el menu



En el Fragment.java creo el menu asi


Código:
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {

        inflater.inflate(R.menu.fragment_menu, menu);

    }
Y en el MainActivity.java tenco el evento


Código:
public boolean onKeyDown(int keyCode, KeyEvent event) {

        if (keyCode == KeyEvent.KEYCODE_MENU) {
            //Necesito poner aqui el codigo para mostrar el menu
        }

        return super.onKeyDown(keyCode, event);
    }
El asunto es ¿como pongo el codigo en onKeyDown del MainActivity que me permita mostrar el menu que fue creado en el Fragment.java?


Muchas gracias de antemano con la ayuda
Responder Con Cita


  #2  
Viejo 25/10/14, 08:27:25
Array

[xs_avatar]
rafaxplayer rafaxplayer no está en línea
Miembro del foro
 
Fecha de registro: jun 2013
Localización: en la barcelona media
Mensajes: 224
Modelo de smartphone: LG-E610
Tu operador: Orange
Haber en Activity hay un método "openOptionsMenu()" si lo tuyo es un fragment seria algo asi.

Código:
getactivity().openOptionsMenu();
Si no, con el método ya estaría.
Responder Con Cita
Gracias de parte de:
  #3  
Viejo 25/10/14, 14:07:49
Array

[xs_avatar]
androizado androizado no está en línea
Miembro del foro
 
Fecha de registro: dic 2012
Mensajes: 191
Modelo de smartphone: Nexus 5
Tu operador: Vodafone
Creo que estás utilizando un fragment verdad?, te recomiendo lo que rafaxplayer te comenta, utiliza getActivity() si estás trabajando con fragment. Esto te servirá para obtener la matriz de la Actividad padre donde el fragment se está mostrando.
Responder Con Cita
Gracias de parte de:
  #4  
Viejo 25/10/14, 20:51:49
Array

[xs_avatar]
EdRivera EdRivera no está en línea
Usuario novato en la web
 
Fecha de registro: feb 2014
Mensajes: 3
Modelo de smartphone: BLU Dash 4.5
Tu operador: Movistar
Muchas gracias por la ayuda, la aprecio mucho con lo que me han dicho he hecho dos pruebas mediante un botón en dos Fragment.

En el primer Fragment puse un menú de opciones que son los 3 puntitos que aparece en la barra de actividad en el lado derecho y con el código que me diste lo puse en el botón y si me lo mostró, aquí dejo el código que funciono.

El menú esta de esta forma

Código:
<menu xmlns:android=aqui va un url>
    <item
        android:id="+id/menu_add"
        android:showAsAction="collapseActionView"
        android:title="Agregar"/>
    <item
        android:id="+id/menu_del"
        android:showAsAction="collapseActionView"
        android:title="Borrar"/>
    <item
        android:id="+id/menu_mod"
        android:showAsAction="collapseActionView"
        android:title="Modificar"/>
    <item
        android:id="+id/menu_import"
        android:showAsAction="collapseActionView"
        android:title="Importar"/>
</menu>
Este es el código en el botón para mostrar el menú y funciona bien

Código:
Button btn1 = (Button)rootView.findViewById(R.id.button);
        btn1.setOnClickListener(new View.OnClickListener() {
            Override
            public void onClick(View view) {
                //con esto se muestra el menu
                ((MainActivity) getActivity()).openOptionsMenu();
            }
        });
En el otro Fragnment puse un menú personalizado como el siguiente

Código:
<!-- More -->
    <item
        android:id="+id/a_More"
        android:menuCategory="system"
        android:orderInCategory="100"
        android:icon="drawable/ic_menu"
        android:showAsAction="always"
        android:title="More">
        <menu>

            <!-- Agregar -->
            <item
                android:id="+id/actionmenu_add"
                android:icon="drawable/ic_add"
                android:showAsAction="never"
                android:title="string/setmenu_add"/>

            <!-- Borrar -->
            <item
                android:id="+id/actionmenu_del"
                android:icon="drawable/ic_del"
                android:showAsAction="never"
                android:title="string/setmenu_del"/>

            <!-- Actualizar -->
            <item
                android:id="+id/actionmenu_update"
                android:icon="drawable/ic_mod"
                android:showAsAction="never"
                android:title="string/setmenu_update"/>

            <!-- Importar -->
            <item
                android:id="+id/actionmenu_import"
                android:icon="drawable/ic_imp"
                android:showAsAction="never"
                android:title="string/setmenu_import"/>
        </menu>
    </item>
Y use el mismo código dentro del botón pero no lo ejecuto.

¿Cual es el problema? ¿por que la diferencia? como hago para mostrar ese segundo menú


Muchas Gracias
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android



Hora actual: 08:26:22 (GMT +2)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /