2011-04-28 75 views
0

我目前的項目是爲API Level 4創建的,我在那裏使用自定義的接口Window.Callback實現。當我在更高API級別上運行項目時,出現錯誤:java.lang.AbstractMethodError:未實現抽象方法。這是因爲API Level 5以後添加了兩個額外的方法。所以任何android界面都可以在將來的API級別修改,任何使用修改過的界面的應用程序都會崩潰!?如何解決這個問題?我有兩個解決方案,這是更好?:android compability問題

  1. 使用代理服務器(這不是一個問題,但我不希望我的代碼複雜)
  2. 最新的API級別下建造工程,並指示分鐘-SDK = 4(但是如果創建了新的API級別,我將不得不重新生成我的項目?!)

回答

0

嘗試檢測操作系統版本並抽取通過接口使用的類。另一個問題覆蓋了這裏:Load class based on SDK version

這應該允許你有選擇地加載適當的實現基於哪個版本的操作系統當前運行你的應用程序的設備已經加載。

+0

我有一個相同的問題,也關於Window.Callback,我不明白這個答案如何解決它。 Window.Callback接口由操作系統的類直接調用。我無法控制這些類的哪些版本處於活動狀態。當然,我可以通過將新方法添加到我的實現中來解決眼前的問題,但這隻會持續到Google決定在將來添加更多內容爲止。 – mhsmith 2012-08-29 14:18:25