Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.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 InvalidateOptions菜单()不适用于AppCompativeActivity_Android_Android Menu_Android Appcompat - Fatal编程技术网

Android InvalidateOptions菜单()不适用于AppCompativeActivity

Android InvalidateOptions菜单()不适用于AppCompativeActivity,android,android-menu,android-appcompat,Android,Android Menu,Android Appcompat,我将我的活动切换到AppCompatActivity,现在在OnOptions ItemSelected()中调用InvalidateOptions功能表(),不再像以前那样更新菜单项OnPrepareOptions菜单() 我添加了以下依赖项 compile "com.android.support:appcompat-v7:22.2.1" 并将我的活动更新为AppCompatActivity(请注意,onResume()中只有第一次调用InvalidateOptions功能表(),其余两次

我将我的
活动
切换到
AppCompatActivity
,现在在
OnOptions ItemSelected()
中调用
InvalidateOptions功能表()
,不再像以前那样更新菜单项<未调用代码>OnPrepareOptions菜单()

我添加了以下依赖项

compile "com.android.support:appcompat-v7:22.2.1"
并将我的
活动
更新为
AppCompatActivity
(请注意,
onResume()
中只有第一次调用
InvalidateOptions功能表()
,其余两次不起作用):


编辑:我的设备正在运行Android M Preview 2。

更改您的OnOptions ItemSelected,如下所示:

switch (item.getItemId()) {
    case R.id.menu_starred_add:
        isStopSaved = false;
        invalidateOptionsMenu();
        break;

    case R.id.menu_starred_remove:
        isStopSaved = true;
        invalidateOptionsMenu();
        break;
}

您应该调用,这意味着要使用支持库

我使用最新的支持库进行了测试,它再次正常工作

com.android.support:appcompat-v7::23.0.1

逻辑正常,因为它与
活动
配合良好。问题是没有调用
onPrepareOptionsMenu()
。从
appcompat-v7
invalidateOptionsMenu()
supportInvalidateOptionsMenu()
执行相同的操作:我明白了-我们只有ActionBarActivity时不是这样的。是的,我认为当
ActionBarActivity
被弃用为
AppCompativity
时,情况发生了变化。也许这是appcompat-v7库或安卓M的一个bug。
com.android.support:appcompat-v7::23.0.1