我的應用程序的主要活動是一個TabActivity,它包含一個OptionsMenu。我定義了一些其他的活動(進入一個標籤頁),我想在每個活動中定義一個菜單,並將其菜單與主菜單合併。可能嗎?合併包含活動菜單的TabActivity菜單
回答
是的,這是可能的。基本上你只需要將多個xml文件充入相同的選項菜單。項目按通貨膨脹順序添加到菜單中。
只需爲TabActivity
覆蓋onCreateOptionsMenu(Menu menu)
,即可使包含主選項的xml文件膨脹。然後爲每個內部選項卡活動覆蓋它,從而誇大特定於選項卡的選項。只要寫他們,你通常會:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.options, menu);
return super.onCreateOptionsMenu(menu);
}
菜單「屬於」當前活動的內標籤的活動,但來填充它,onCreateOptionsMenu
自動調用父活動太(由super
)。
然而,奇怪的是,onMenuItemSelected(int featureId, MenuItem item)
並沒有這樣做。爲了處理項目選擇,內標籤的活動還是要顯式調用父活動的相應方法(你確定所選擇的選項不是標籤專用後):
return super.onMenuItemSelected(featureId, item)
|| getParent().onMenuItemSelected(featureId, item);
我想我會在每個TabActivity中聲明完整的菜單... :) –
現在我很好奇。爲什麼? :-) – mhelvens
我不知道,我覺得它有點太凌亂了。 (這不是,但我有一個奇怪的感覺) –
您是在動態創建菜單還是在單獨的XML中創建菜單?
如果動態地你可以將其設置爲
public void createMenu()
{
//Main Menu here
switch(tab)
{
case '1': //add tab 1 menu
break;
case '2': //add tab 2 menu
break;
}
}
我使用單獨的XML創建它們。如果沒有其他選項,我沒有問題以編程方式創建它們,但我寧願將它保存在XML中。 –
- 1. 活動菜單包括php
- 2. onCreateOptionsMenu(菜單菜單)的活動
- 3. 片段菜單調用活動菜單
- 4. Spree活動菜單
- 5. Android活動菜單
- 6. jquery和css點擊打開菜單並顯示活動菜單
- 7. 設置活動類PHP包括菜單
- 8. 包含經典asp菜單
- 9. jQuery的活動菜單項
- 10. 的活動菜單項
- 11. 浮動菜單欄在包含div(js)
- 12. 包含父菜單的MySQL顯示菜單
- 13. 自定義菜單中包含的語言和菜單,引導
- 14. 合併兩個UL菜單,其中包含兒童ul與jQuery
- 15. TabActivity,包含片段的活動
- 16. 新活動 - 新菜單
- 17. 空白活動菜單
- 18. Drupal:活動菜單項
- 19. jQuery菜單活動鏈接
- 20. 活動項目菜單RoR
- 21. jquery菜單 - 活動鏈接
- 22. 菜單上全屏活動
- 23. android片段活動菜單
- 24. javascruipt菜單懸停活動
- 25. CSS活動菜單項
- 26. 當活動菜單項具有子菜單時更改TMENU的包裝
- 27. ActionBarsharlock:從子菜單從菜單移動到另一個活動
- 28. 從菜單活動調用GPS活動
- 29. 如何包含左右菜單和主菜單?
- 30. 將header.php中的菜單添加到活動菜單
我不認爲它可能是因爲Android專注於Tab活動中的一項活動。如果您打算將每個活動的菜單與主菜單合併。它沒有意義。 但是你可以做到這一點,你可以在主選項卡活動中給其他活動菜單充氣,並將其他菜單選項添加到主活動菜單中。 – Arslan