Android MenuItem.mActionProvider为空
我添加以下菜单项: 在我的主要活动的创建选项菜单(菜单菜单菜单)上:Android MenuItem.mActionProvider为空,android,android-actionbar,Android,Android Actionbar,我添加以下菜单项: 在我的主要活动的创建选项菜单(菜单菜单菜单)上: mediaRouteItem.getActionView()可以成功获取按钮。但是ActionProvider为空。请帮忙介绍一下原因。非常感谢 <item android:id="@+id/action_mediaroute01" android:actionProviderClass="android.support.v7.app.MediaRouteActionProvider" android:actionVie
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"/>
经过研究,得出了问题的症结所在。当我们想要使用支持库中的对象时,不应该使用android:actionProviderClass。菜单项xml中actionproviderClass属性的应采用“”命名空间与NullPointerException有相同的问题。我错过了从ActionBarActivity扩展我的活动。Android文档说:“要使用媒体路由操作提供程序,该活动必须是Android.support.v7.appcompat支持库中ActionBarActivity的子类。”
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);
}