Android: Как включить / отключить пункт меню опции по нажатию кнопки? - PullRequest
114 голосов
/ 26 марта 2011

Я легко могу сделать это, когда использую методы onCreateOptionsMenu или onOptionsItemSelected.

Но у меня есть кнопка где-то на экране, и при нажатии этой кнопки она должна включать / отключать пункты контекстного меню..

Ответы [ 11 ]

0 голосов
/ 26 марта 2011

Как правило, можно изменить свойства ваших представлений во время выполнения:

(Button) item = (Button) findViewById(R.id.idBut);

, а затем ...

item.setVisibility(false)

, но

, если вы хотите изменить девидимость параметров из ContextMenu, при нажатии вашей кнопки вы можете активировать флаг, а затем в onCreateContextMenu вы можете сделать что-то вроде этого:

 @Override
        public void onCreateContextMenu(ContextMenu menu, 
                View v,ContextMenu.ContextMenuInfo menuInfo) {

            super.onCreateContextMenu(menu, v, menuInfo);

                menu.setHeaderTitle(R.string.context_title);

                if (flagIsOn()) {
                    addMenuItem(menu, "Option available", true);
                } else {
                    Toast.makeText(this, "Option not available", 500).show();
                }

        }

Надеюсь, это поможет

...