MenuItem.mActionProvider为null

时间:2014-02-25 14:14:15

标签: android android-actionbar

我添加以下菜单项:

在我的主要活动onCreateOptionsMenu(Menu menu)上:

mediaRouteItem.getActionView()可以成功获取该按钮。但ActionProvider为空。请帮忙介绍一下原因。非常感谢!

<item
android:id="@+id/action_mediaroute01"
android:actionProviderClass="android.support.v7.app.MediaRouteActionProvider"
android:actionViewClass="android.support.v7.app.MediaRouteButton"
android:showAsAction="always"
android:title="@string/hello_world"/>

-

public void onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.main, menu);
    MenuItem mediaRouteItem = menu.findItem( R.id.action_mediaroute01 );
    MediaRouteActionProvider mediaRouteActionProvider = (MediaRouteActionProvider) MenuItemCompat.getActionProvider(mediaRouteItem);
}

1 个答案:

答案 0 :(得分:3)

研究后得到问题点。当我们想要在支持库中使用对象时,不应该使用android:actionProviderClass。应该在菜单项xml

中为actionproviderClass属性设置“http://schemas.android.com/apk/res-auto”命名空间