Я в странной ситуации, и я попытался найти везде, но я не нашел ничего полезного. Возможно, я следую плохому дизайну. Но вот моя ситуация:Создать контекстное меню по пункту меню нажмите
У меня есть AppBar
в моем приложении, и я добавил ActionButton
на панели приложений, которые мы обычно делаем. Теперь я хочу отображать контекстное меню, когда пользователь нажимает на любую из кнопок действий панели приложений.
Например,: Если у меня есть кнопка настройки на панели приложений, и если пользователь нажимает на эту кнопку, я хочу отобразить контекстное меню, имеющее несколько параметров. Я знаю, как создавать контекстное меню и обрабатывать контекстные пункты меню, но я не знаю как передать управление из кнопки действия, которая приводит к отображению ContextMenu
.
Вот мой код:
//inflating context menu which will display when user clicks app bar button example like setting
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.context_menu_sort, menu);
}
//handling context menu item clicks
@Override
public boolean onContextItemSelected(MenuItem item) {
return super.onContextItemSelected(item);
}
Но я не уверен, как обрабатывать кнопки приложение бар щелчки, которые будут отображаться контекстное меню:
//Below code is to handle app bar item clicks
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (mDrawerToggle.onOptionsItemSelected(item)) {
return true;
}
//handling the menu clicks on menu.xml
switch (id){
//on below action_add click i want to display context menu
case R.id.action_add:
//not sure what to code here
break;
}
Спасибо за вашу помощь