0

我想在 Action Bar 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;

我做错了什么?

4

1 回答 1

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;
    ...
}
于 2013-08-06T07:09:27.180 回答