2013-03-27 22 views
0
public class FragmentClass extends android.support.v4.app.Fragment { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setHasOptionsMenu(true); 
    } 


    @Override 
    public View onCreateView(LayoutInflater inflater, 
       ViewGroup container, Bundle savedInstanceState) { 

    } 

    @Override 
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { 
     Log.d("Does", "get called"); 
     inflater.inflate(R.menu.menuItem, menu); 
    } 

}即使我已經把setHasOptionsMenu(true)裏面我onCreate方法onCreateOptionsMenu沒有得到所謂的碎片類

onCreateOptionsMenu方法不會被調用裏面。

這就是我的Activity class的樣子。

https://github.com/jfeinstein10/SlidingMenu/blob/master/example/src/com/slidingmenu/example/fragments/FragmentChangeActivity.java

更多更新:這是我的內Fragment Class方法。

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

這是在BaseActivity類中。

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
     getSupportMenuInflater().inflate(R.menu.main, menu); 
     return true; 
} 
+0

可能重複http://stackoverflow.com/questions/ 15654793/menu-inside-fragment-not-getting-called) – keyboardsurfer 2013-03-27 12:07:31

+0

@keyboardsurfer:它沒有工作... – Kevin 2013-03-27 12:10:46

+0

是否有錯誤或警告顯示? – Zakaria 2013-03-27 12:11:36

回答

1

我認爲你並不是重寫正確的方法。

試試這個代碼:

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getSupportMenuInflater().inflate(R.menu.menuItem, menu); 
    return true; 
} 

Source link.

+0

FragmentClass類型的onCreateOptionsMenu(Menu)方法必須覆蓋或實現超類型方法 – Kevin 2013-03-27 12:42:31

+0

您正在擴展'BaseActivity'類。請看看它的內容:https://github.com/jfeinstein10/SlidingMenu/blob/master/example/src/com/slidingmenu/example/BaseActivity.java – Zakaria 2013-03-27 12:45:01

+0

獲取,我從BaseActivity類中刪除這兩個方法。 ...我得到這個錯誤,當我添加它們「方法膨脹(INT,菜單)在MenuInflater類型不適用於參數(INT,菜單)」 – Kevin 2013-03-27 12:51:19

0

附加嘗試調用setMenuVisibility(true);

[菜單裏面片段沒有得到所謂的(指