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