无法将'ActionProvider'强制转换为'MediaRouteActionProvider'

时间:2015-05-28 21:00:42

标签: java android-studio chromecast

我正在制作我的第一个Chromecast应用并关注this教程 我在onCreateOptionsMenu方法中遇到了麻烦:

 public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    super.onCreateOptionsMenu(menu);
    getMenuInflater().inflate(R.menu.menu_main, menu);
    MenuItem mediaRouteMenuItem = menu.findItem(R.id.media_route_menu_item);
    MediaRouteActionProvider mediaRouteActionProvider =
            (MediaRouteActionProvider)MenuItemCompat.getActionProvider(mediaRouteMenuItem);

    mediaRouteActionProvider.setRouteSelector(mMediaRouteSelector);
    return true;
}

这是一个错误:

Incontrovertible types cannot cast 'android.support.v4.view.ActionProvider' to 'android.app.MediaRouteActionProvider'

我延长了AppCompatActivity而不是ActionBarActivity,我无法找到解决方法。

1 个答案:

答案 0 :(得分:3)

确保从MediaRouter支持库导入MediaRouter,而不是从android框架本身导入MediaRouter。