gpt4 book ai didi

java - onPrepareOptionsMenu 没有在 Fragments 中被调用

转载 作者:IT老高 更新时间:2023-10-28 20:51:33 28 4
gpt4 key购买 nike

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

@Override
public void onPrepareOptionsMenu(Menu menu) {
super.onPrepareOptionsMenu(menu);
getActivity().invalidateOptionsMenu();
MenuItem filter = menu.findItem(R.id.section);

filter.setVisible(false);

}

我正在尝试以 fragment 的形式加载我的菜单并加载它,但 onPrepareOptionsMenu 根本没有被调用,我需要隐藏一些菜单项。

更新:

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

我在 onCreate() 方法中调用 setHasOptionsMenu(true)

最佳答案

在 Android 3.0 及更高版本上,当菜单项出现在操作栏中时,选项菜单被视为始终处于打开状态。当一个事件发生,你想执行一个菜单更新,你必须调用invalidateOptionsMenu()来请求系统调用onPrepareOptionsMenu()。

http://developer.android.com/guide/topics/ui/menus.html

更改特定项目使用:menu.findItem(R.id.your_item_id)

关于java - onPrepareOptionsMenu 没有在 Fragments 中被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15656953/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com