2013-08-06 50 views
0

我想在Action Bar Sherlock中隱藏一件物品。我試試看:在行動欄Sherlock中隱藏項目

public boolean onOptionsItemSelected(com.actionbarsherlock.view.MenuItem item) { 
    switch (item.getItemId()) {  
     case 2131165381: 
      item.setVisible(false); 
      supportInvalidateOptionsMenu(); 
      CopyOfAsyncLoadTasks.run(this); 
      item.setVisible(true); 
     break; 

我在做什麼錯了?

回答

1

我建議你使用相當資源id<item>而不是你的「有聲」號碼。

switch (item.getItemId()) {  
    case R.id.myItem: 
    menu.findItem(R.id.myItem).setVisible(false); 
    break; 
    ... 
} 

從第一次看你的代碼我不知道究竟是什麼號碼2131165381是?如果你在團隊中工作,那麼對於另一個人來說,這不會是非常人性化的。

注:要通過菜單我建議你創建第二個菜單可變EQ獲得更多的控制權:

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    this.menu = menu; 
    ... 
} 
+0

錯誤「菜單不能得到解決」 –

+0

@ErttErtt你必須創建第二個變量....在活動級範圍。 – Sajmon