Kiedy tworzę niestandardowy View
, gdzie w niektórych przypadkach muszę obsłużyć klasa Context
przeszedł przez konstruktora dla klasy Activity
, do wykonywania niektórych zadań jak nadmuchać do View
bezpośrednio w moim zwyczaju View
klasie, ja otrzymuję następujący błąd:Jak naprawić "java.lang.ClassCastException: com.android.layoutlib.bridge.android.BridgeContext nie można przesłać na android.app.Activity" wyjątek
java.lang.ClassCastException: com.android.layoutlib.bridge.android.BridgeContext cannot be cast to android.app.Activity
jest to linia rzuca ten błąd:
View headerView = ((Activity) context).getLayoutInflater().inflate(R.layout.fragment_history_list_header, null);
Wygląda na to, że ten błąd występuje tylko wtedy, gdy Eclipse próbuje nadmuchać widok, który ma być wyświetlony w edytorze XML (nie występuje w środowisku wykonawczym).
Czy ktoś wie, jak to naprawić?
Z góry dziękuję.
Podobny problem dla mnie. 'if (((Activity) getContext()). isTaskRoot())' jest linią powodującą mój problem, którego nie rozwiązuje twoja (również całkiem pomocna) korekta pompowania. Wrócę, jeśli znajdę rozwiązanie ... –
Czy znalazłeś rozwiązanie? @ WilliamT.Mallard Dzięki – sipi
Sortowanie. Więcej rzeczy z kobyashi maru. Widziałem tylko problem kontekstu mostka w graficznym edytorze ADT w Eclipse i domyśliłem się, że błąd pochodzi od edytora próbującego wykonać kod dla niestandardowego widoku, a nie z powodu niemożliwego do napełnienia problemu, który miałem, gdy uruchomiłem app (który okazał się prostym sennym literopisem :() .Aby nadal używać edytora layoutu, użyłem 'if (! View.isInEditMode()) {} do otaczania dowolnego kodu zależnego od kontekstu. podgląd nie jest ładny, ale pozwala mi nadal widzieć inne kontrolki –