6
當我創建一個自定義View
,在某些情況下我需要投射在Context
類通過構造被傳爲Activity
類,製作一些任務,如膨脹一個View
直接我的自定義View
類中,我發現了以下錯誤:如何解決「java.lang.ClassCastException:com.android.layoutlib.bridge.android.BridgeContext無法轉換爲android.app.Activity」異常
java.lang.ClassCastException: com.android.layoutlib.bridge.android.BridgeContext cannot be cast to android.app.Activity
這是引發此錯誤行:
View headerView = ((Activity) context).getLayoutInflater().inflate(R.layout.fragment_history_list_header, null);
看來只有當Eclipse嘗試膨脹要在XML編輯器中顯示的視圖時纔會出現此錯誤(不會在運行時出現)。
有人知道如何解決它嗎?
在此先感謝。
對我而言,類似的問題。 if(((Activity)getContext())。isTaskRoot())'是導致我的問題的線,這不是由你的(也很有幫助的)inflater修復程序解決。如果我找到解決方案,我會回來... –
您是否找到解決方案? @ WilliamT.Mallard謝謝 – sipi
類別。更多的是kobyashi maru的東西。我只在Eclipse的ADT圖形編輯器中看到了橋接上下文問題,並且猜測錯誤來自編輯器試圖執行自定義視圖的代碼,而不是我在運行時遇到的無法膨脹的問題應用程序(其結果是由一個簡單的睏倦的錯字:()。爲了仍然使用佈局編輯器,我用'if(!View.isInEditMode()){}'來包圍任何依賴於上下文的代碼。預覽並不漂亮,但它讓我仍然可以看到其他控件 –