2015-10-17 1 views
0

Я пытаюсь скрыть кнопку панели действий, и у меня возникла проблема с строкой «Menu.findItem()», в ней появляется «Нестатический метод» findItem (int) 'connot можно ссылаться из статического контекста "Проблема с Menu.findItem()

может ли кто-нибудь помочь мне решить эту проблему?

Вот код в вопросе:

 if (ContactName!=null) { 
     setTitle(ContactName); 
     android.support.v7.app.ActionBar actionBar = getSupportActionBar(); 
     actionBar.setDisplayShowTitleEnabled(true); 
     actionBar.setSubtitle(HeadNum); 
     MenuItem item = Menu.findItem(R.id.action_add); 
     item.setVisible(false); 
     this.invalidateOptionsMenu(); 
    }else{ 
     setTitle(HeadNum); 
    } 
} 

ответ

0

Это потому, что Menu.findItem() не статический метод. Вам необходимо позвонить findItem() на ваш Menu объект.

+0

Хорошо, поэтому в настоящее время у меня это есть, если нет контакта для рассматриваемого номера, я хочу, чтобы кнопка отображалась в панели действий. Как мне это сделать? –

0

Вы не можете назвать то, что не существует. Поскольку вы еще не создали объект Menu, метод non-staticMenu.findItem() еще не существует. A static метод (по определению) всегда существует.

static методы относятся к классу; non-static методы относятся к экземплярам класса.

+0

Ahh ok, так что я мог бы использовать Menu в качестве идентификатора панели действий? И если да, то как? –

+0

@PhillipStanley У меня, похоже, не много знаний по андроидам, я только ответил на вопрос, который был указан в вопросе :) Вышеупомянутый комментарий вышел из моей области, чтобы решить. –