Делаю так:
private void showMenu1(View v) {
PopupMenu menu1 = new PopupMenu(this, v);
menu1.inflate(R.menu.popupmenu);
menu1.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
case R.id.subChSetOrb: onClSetOrb();
return true;
default: return false;
}
}
});
menu1.setOnDismissListener(new PopupMenu.OnDismissListener() {
@Override
public void onDismiss(PopupMenu menu) { } // Toast.makeText(getApplicationContext(), "onDismiss", Toast.LENGTH_SHORT).show();
});
menu1.show();
}
Разметка меню хранится в
R.menu.popupmenu
а я хочу создавать и удалять пункты программно. Как это сделать?
Всё просто - получите ссылку на меню и добавляйте:
PopupMenu popup = new PopupMenu(context, view);
popup.getMenu().add(0, 0, 0, "title");
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости