将Chromecast集成到支持ActionBarSherlock的应用程序中

时间:2013-10-30 09:32:37

标签: android actionbarsherlock google-cast chromecast

我正在将chromecast集成到支持ActionBarSherlock的现有应用程序中。 我点了这个链接http://www.droidorbit.com/2013/10/mediarouter-and-actionbarsherlock.html。 但是我在编译时得到了错误:

MediaRouterJellybean cannot be resolved to a type.  
MediaRouterJellybeanMr1 cannot be resolved to a type  
MediaRouterJellybeanMr2 cannot be resolved to a type  in SystemMediaRouteProvider.java file.  
R.attr.isLightTheme cannot be resolved or is not a field in MediaRouterThemeHelper.java file.

我目前评论这些代码是否没有错误,然后与Cast示例项目集成。在项目中,我使用android.support.v7.app.MediaRouteActionProvider在ActionBar中显示投射图标,而不是使用MediaRouteButton。但是我在onCreateOptionMenu()

中得到了运行时错误
java.lang.ClassCastException: android.support.v7.app.MediaRouteActionProvider cannot be cast to com.actionbarsherlock.view.ActionProvider

我不知道如何修复它。任何人都可以帮助我吗? 提前谢谢。
P / S:任何人都可以使用Eclipse修改MediaRouter lib。

1 个答案:

答案 0 :(得分:3)

我解决了。

只需在isLightTheme()函数中注释代码并返回false 将3个文件MediaRouterJellybean.java, MediaRouterJellybeanMr1.java, MediaRouterJellybeanMr2.java复制到数据包android.support.v7.media中 那时,你仍然会收到错误

MediaRouterJellybeanMr2 cannot be resolved to a type  in SystemMediaRouteProvider.  

AndroidManifest.xml中,设置目标版本= 18,右键单击项目,选择Android Tool -> Clear Lint Marker P / S:我正在使用 Eclipse ,而不是Android工作室。

希望它有所帮助!