2014-12-13 21 views
-1

我有一個活動A,其中我有一個framelayout,因爲我用另一個片段替換了列表片段,當我單擊列表中的某個項目時,它顯示列表的詳細信息! 我想覆蓋這個片段中的onPrepareOptionsMenu(),但無法做到這一點,因爲活動每次在主活動的onPrepareOptionsMenu()上崩潰!如何覆蓋活動片段中的onPrepareOptionsMenu()?

任何幫助將不勝感激!

+0

您可以共享崩潰 – Shiv 2014-12-13 16:28:15

+0

的日誌條目向我們展示一些代碼,logcat的 – Panther 2014-12-14 06:03:31

+0

@Panther感謝提醒,如果我問的問題我有責任找到解決方案。 – geekx 2014-12-14 13:32:02

回答

0

我發現解決方案實際上我沒有調用super.onPrepareOptionsMenu(菜單),因此它不會將調用轉發給fragment的onPrepare。

public boolean onPrepareOptionsMenu(Menu menu) { 
    if(!mNavigationDrawerFragment.isDrawerOpen() && (detailFragment!=null && detailFragment.isVisible())) { 
      setActionBarTitleView(); 

    } 
    else if(!mNavigationDrawerFragment.isDrawerOpen()) 
    { 

      menu.removeItem(R.id.action_share); 
    } 
    return super.onPrepareOptionsMenu(menu); 
} 
+0

你需要調用片段上的'setHasOptionsMenu'來表示它想要參與菜單構造。 – polkduran 2017-06-22 11:37:35