2013-10-30 110 views
0

我正在將Chromecast集成到支持ActionBarSherlock的現有應用程序中。 我跟着這個鏈接http://www.droidorbit.com/2013/10/mediarouter-and-actionbarsherlock.html。 但我得到了在編譯時錯誤:將Chromecast集成到支持ActionBarSherlock的應用程序中

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. 

我現在評論這些代碼無錯,然後與演員示例項目整合。在項目中,我在ActionBar中使用android.support.v7.app.MediaRouteActionProvider顯示投影圖標,而不是使用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工作室。

希望它有幫助!

+0

謝謝,您也應該將其發佈到博客上,我打算通過電子郵件通知您是否已修復它:) –

+0

我已經修復了它。如果你需要,我會給你發送我修改過的support-v7-mediarouter lib。但是現在我使用support-v7-appcombat,我更喜歡使用它。 :) –

+0

我正在將我的項目轉換爲appcombat。你有沒有找到任何解決方案來取代SherlockPreferenceActivity? –

相關問題