Implementing Menu Items in Android PopupMenu
Create a PopupMenu instance anchroed to a UI component:
View anchorElement = findViewById(R.id.context_trigger);
PopupMenu actionMenu = new PopupMenu(getApplicationContext(), anchorElement);
Add entries to the menu programmatically:
Menu menuContainer = actionMenu.getMenu();
menuContainer.add("Export Data");
menuContainer.add("Archive Item");
menuContainer.add("Configure Settings");
Define click handling for menu options:
actionMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem selectedItem) {
String command = selectedItem.getTitle().toString();
if ("Export Data".equals(command)) {
// Export functionality
} else if ("Archive Item".equals(command)) {
// Archiving process
} else if ("Configure Settings".equals(command)) {
// Settings navigation
}
return true;
}
});
Display the menu when triggered:
actionMenu.show();
Complete implementation:
View anchorElement = findViewById(R.id.context_trigger);
PopupMenu actionMenu = new PopupMenu(getApplicationContext(), anchorElement);
Menu menuContainer = actionMenu.getMenu();
menuContainer.add("Export Data");
menuContainer.add("Archive Item");
menuContainer.add("Configure Settings");
actionMenu.setOnMenuItemClickListener(item -> {
String command = item.getTitle().toString();
if ("Export Data".equals(command)) {
// Export functionality
} else if ("Archive Item".equals(command)) {
// Archiving process
} else if ("Configure Settings".equals(command)) {
// Settings navigation
}
return true;
});
actionMenu.show();