es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para reorganizar el orden de los elementos del menú en un menú emergente de Android cuando se hace clic en un elemento del menú, puede usar el método onMenuItemClick. Aquí hay una posible implementación en Java:

    PopupMenu popupMenu = new PopupMenu(context, anchorView);
    popupMenu.getMenuInflater().inflate(R.menu.popup_menu, popupMenu.getMenu());
    popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
        @Override
        public boolean onMenuItemClick(MenuItem menuItem) {
            Menu menu = popupMenu.getMenu();
            int size = menu.size();
            MenuItem lastItem = menu.getItem(size - 1);
            menu.removeItem(lastItem.getItemId());
            menu.add(lastItem.getGroupId(), lastItem.getItemId(), lastItem.getOrder(), lastItem.getTitle());
            return true;
        }
    });
    popupMenu.show();
    

    En este código, primero creamos un popupMenu e inflamos el archivo de diseño del menú (popup_menu.xml). Luego, establecemos un onMenuItemClickListener en el popupMenu, que se activará cuando se haga clic en un elemento de menú. Dentro del método onMenuItemClick, primero obtenemos una referencia al menú del popupMenu, que contiene todos los elementos del menú. Luego, obtenemos el último elemento del menú (el que acaba de hacer clic), lo eliminamos del menú y lo agregamos al final del menú. Esto reorganiza efectivamente el orden de los elementos. Finalmente, devolvemos true para indicar que hemos manejado el evento de clic del menú.

Comments are closed.