【问题标题】:Cannot cast 'ActionProvider' to 'MediaRouteActionProvider'无法将“ActionProvider”转换为“MediaRouteActionProvider”
【发布时间】:2015-08-11 13:53:09
【问题描述】:

我正在创建我的第一个 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,我找不到解决方案。

【问题讨论】:

    标签: java android-studio chromecast


    【解决方案1】:

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

    【讨论】:

    • 这些是我的导入:import android.support.v7.media.MediaRouter;import android.app.MediaRouteActionProvider;
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-29
    • 2015-09-04
    • 2016-05-26
    • 1970-01-01
    • 2012-04-08
    • 2021-02-25
    • 2015-09-25
    相关资源
    最近更新 更多