我正在尝试获取ViewMenuItem

@Override
public boolean onOptionsItemSelected(MenuItem item) {

    View miView = MenuItemCompat.getActionView(item);

    if (miView == null) {
        Log.e(X, "mView is null");
    }
}


但每次miView is 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。普通菜单项不随ActionViews一起提供。当您需要在菜单中执行其他操作时(除了常规图标和/或文本之外),可以使用ActionViews。

为什么要尝试从菜单项获取视图?您要如何处理菜单项?

10-04 16:43