我正在将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。
答案 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工作室。
希望它有所帮助!