我正在尝试获取MenuItem
的View
。
@Override
public boolean onOptionsItemSelected(MenuItem item) {
View miView = MenuItemCompat.getActionView(item);
if (miView == null) {
Log.e(X, "mView is null");
}
}
但是每次miView都是null
。
这是我的onCreateOptionsMenu
@Override
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(0, 0, 0, R.string.Foo);
return true;
}
我知道 MenuItemCompat
返回 null,因为创建的 Menu
不是来自 support
库,因此 MenuItem
> 不能由 MenuItemCompat
类处理,不是吗?
1)我正在寻找像onCreateOptionsMenuCompat
这样的方法,有类似的方法吗?
2)如何从MenuItemCompat
类获取ActionView?
我做错了什么?
PS:我的项目的minSdkVersion是9
最佳答案
要从菜单项获取 ActionView,您需要首先在其上设置 ActionView。普通菜单项不附带 ActionView。当您需要在菜单中执行一些额外操作(在正常图标和/或文本之外)时,可以使用 ActionView。
为什么要尝试从菜单项获取 View ?您想对菜单项做什么?
关于java - MenuItemCompat.getActionView(menuItem) 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34199358/