Android:SlidingMenu onCreateOptionsMenu未在Fragment中调用

时间:2013-01-31 03:49:01

标签: android menu fragment slidingmenu

https://github.com/jfeinstein10/SlidingMenu

目前,我尝试在SlidingMenu库的ColorFragment中添加新的菜单项。

但是,方法onCreateOptionsMenu没有被调用。

这是错误吗?你能帮忙测试添加菜单到测试类'ColorFragment'吗?

Android版:4.1.1

设备:平板电脑7.0

public class ColorFragment extends Fragment {

private int mColorRes = -1;

public ColorFragment() {
    this(R.color.white);
}

public ColorFragment(int colorRes) {
    mColorRes = colorRes;
    setRetainInstance(true);


}


@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setHasOptionsMenu(true);
}
 ..
 ..
 ..
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {

    super.onCreateOptionsMenu(menu, inflater);

    inflater.inflate(R.menu.menu_cust, menu);
}   

}

2 个答案:

答案 0 :(得分:4)

试一试..希望它会有所帮助。

在onCreateView()

中设置它
setHasOptionsMenu(true);

并更改你的onCreateOptionsMenu

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

答案 1 :(得分:0)

我知道它已经很旧了,但可能会对其他人有所帮助。

除了:(在onCreate / onCreateView中)

setHasOptionsMenu(true);

您还应该设置活动的操作栏(在片段的onActivityCreated()方法中是个好地方):

//Kotlin
    (requireActivity() as AppCompatActivity).setSupportActionBar(mToolbar)
//Java
    ((AppCompatActivity) requireActivity()).setSupportActionBar(mToolbar)