2015-10-17 8 views
0

我想隱藏一個操作欄按鈕,我有一個問題,行「Menu.findItem()」,它提出了「非靜態方法」findItem(int )'不能從靜態上下文引用'問題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-static方法Menu.findItem()尚不存在。 A static方法(定義)總是存在

static方法屬於該類; non-static方法屬於類的實例。

+0

啊,好吧,我可以菜單作爲操作欄ID?如果是的話如何? –

+0

@PhillipStanley我似乎沒有太多的android知識,我只回答了在問題中指定的問題:)上面的評論是我的領域解決。 –