2014-03-18 77 views
0

我正在創建一個應用程序,使用4個標籤使用片段。我正在嘗試將菜單項添加到選項卡上方的欄中。當我運行應用程序時,標籤顯示出來,然而沒有什麼是菜單項應該在的地方。菜單項不顯示標籤

用於菜單的XML:

<item 
    android:id="@+id/action_settings" 
    android:showAsAction="always" 
    android:title="@string/action_settings" 
    android:icon="ic_action_settings"> 
    <menu> 
     <item 
      android:id="@+id/help" 
      android:title="@string/help"/> 
     <item 
      android:id="@+id/about" 
      android:title="@string/about"/> 
    </menu> 
</item> 

在我創建的標籤的主類,我延伸活性和添加使用ActionBar.Tab的選項卡。

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.start, menu); 
    return super.onCreateOptionsMenu(menu); 
} 

public boolean onOptionsItemSelected(MenuItem item) { 
     switch (item.getItemId()) { 
     case R.id.action_settings: 
      return true; 
     default: 
      return super.onOptionsItemSelected(item); 
     } 
} 

我膨脹的菜單隻有在主類,我必須這樣做在每個選項卡中的菜單項,顯示或有別的東西,我需要做什麼?先謝謝您的幫助!

回答

0

那麼你正試圖巢項目標籤中的菜單在main.xml中

試試這個:

 <item android:id="@+id/action_settings" 
     android:showAsAction="always" 
     android:title="@string/action_settings" 
     android:orderInCategory="100" 
     app:showAsAction="never"/> 
    <item android:id="@+id/action_b" 
     android:id="@+id/help" 
     android:title="@string/help" 
     app:showAsAction="never"/> 
    <item android:id="@+id/action_c" 
     android:id="@+id/about" 
     android:title="@string/about" 
     app:showAsAction="never"/> 
+0

我之前在項目標籤內部嵌套了菜單,並且它工作正常,但由於某些原因它只是無法使用選項卡 – soccercam

0

你必須指定你的Fragment有一個選項菜單。添加到您的片段:

@Override 
public void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 
    setHasOptionsMenu(true); 
} 
+0

我之前添加的代碼每個片段的onCreateView(...)方法,當我運行應用程序時沒有改變? – soccercam