Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 第一次打开菜单时,Jelly bean没有调用PrepareOptions菜单()_Android_Android 4.1 Jelly Bean - Fatal编程技术网

Android 第一次打开菜单时,Jelly bean没有调用PrepareOptions菜单()

Android 第一次打开菜单时,Jelly bean没有调用PrepareOptions菜单(),android,android-4.1-jelly-bean,Android,Android 4.1 Jelly Bean,我正在覆盖PrepareOptions功能表以隐藏和显示菜单项。使用API 16级仿真器进行测试时;首次打开菜单时,不会调用OnPrepareOptions菜单。但当我重新打开菜单时,它就工作了。问题只在于第一次使用。你可以用这个简单的测试它 @Override public void onPrepareOptionsMenu(Menu menu) { Toast.makeText(this.getActivity(), "pre", Toast.LENGTH_SHORT).show()

我正在覆盖PrepareOptions功能表以隐藏和显示菜单项。使用API 16级仿真器进行测试时;首次打开菜单时,不会调用OnPrepareOptions菜单。但当我重新打开菜单时,它就工作了。问题只在于第一次使用。你可以用这个简单的测试它

@Override
public void onPrepareOptionsMenu(Menu menu) {
    Toast.makeText(this.getActivity(), "pre", Toast.LENGTH_SHORT).show();
    super.onPrepareOptionsMenu(menu);
}
有什么想法吗?

onprepareOptions菜单()
每次用户打开姜饼和下面的菜单时都会被调用。从上到下,假设操作栏中有项目时,选项菜单始终处于打开状态

如果要在活动生命周期内以及在
OnPrepareOptions菜单()
回调中更新选项菜单,则需要调用
InvalidateOptions菜单()
,然后将调用
OnPrepareOptions菜单()

您能否在
onCreateOptions菜单()
回调中实现首次使用的代码?每次创建选项菜单时都会调用它,并且是在首次使用时创建的。

这是android错误:

第一次按菜单按钮时,如果使用支持库,请调用
invalidateOptionsMenu()
supportInvalidateOptionsMenu()

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    switch(keyCode) {
    case KeyEvent.KEYCODE_MENU:
        if(mIsMenuFirstClick) {
            mIsMenuFirstClick = false;
            supportInvalidateOptionsMenu();
        }
    }
    return super.onKeyDown(keyCode, event);
}

你从哪里来的?很好用,谢谢!请注意,在某些情况下,它应该是
ActivityCompat.InvalidateOptions菜单(此菜单)