2014-07-01 53 views
0

我MENY代碼:
如何在操作溢出中不顯示菜單項?

<item android:id="@+id/action_map" 
     android:icon="@android:drawable/ic_dialog_map" 
     android:title="Add" 

     android:showAsAction="ifRoom"/> 
    <item 
     android:id="@+id/action_settings" 
     android:showAsAction="never" 
     android:title="@string/action_settings" /> 
</menu> 

我的代碼片段是:

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    View root = inflater.inflate(R.layout.fragment_where_am_i, container, false); 
    setHasOptionsMenu(true); 
    return root; 
} 
@Override 
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { 

    inflater.inflate(R.menu.where_i_am_menu, menu); 
    super.onCreateOptionsMenu(menu, inflater); 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    int id = item.getItemId(); 
    switch (id) { 
     case R.id.action_settings: 
      startActivity(new Intent(getActivity(), SettingsActivity.class)); 
      return true; 
     case R.id.action_map: 

      return true; 
    } 
    return super.onOptionsItemSelected(item); 
} 

,我去下一個動作吧。爲什麼我在該列表中有2個設置?我不想添加標籤「添加」到列表中,我可以做到嗎? enter image description here

+0

你是什麼意思「我不希望添加標籤‘添加’到該列表」是什麼意思?因爲「添加」項目目前不在列表中,所以它位於操作欄中。你唯一的問題是顯示兩次的「設置」項目。 –

+0

不要那麼超。方法需要先執行? –

回答

1

,應清除菜單:

@Override 
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { 
    menu.clear(); 
    inflater.inflate(R.menu.where_i_am_menu, menu); 
    super.onCreateOptionsMenu(menu, inflater); 
} 

希望它可以幫助你:)

+1

是的,它幫助我。謝謝 –

相關問題