2014-07-01 3 views
0

내 meny 코드는 다음과 같습니다액션 오버플로에 메뉴 항목을 표시하지 않으려면 어떻게해야합니까?

@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); 
} 

그리고 난 다음 작업 표시 줄을 얻을 :

<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> 

내 조각 코드입니다. 그 목록에 2 개의 설정이있는 이유는 무엇입니까? 그리고 나는 그 목록에 레이블 "Add"를 추가하고 싶지 않습니다, 내가 그것을 만들 수 있습니까? 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

예, 도움이됩니다. 고맙습니다 –

관련 문제