“如何修复”;java.lang.ClassCastException:com.android.layoutlib.bridge.android.BridgeContext不能强制转换为android.app.Activity;例外

“如何修复”;java.lang.ClassCastException:com.android.layoutlib.bridge.android.BridgeContext不能强制转换为android.app.Activity;例外,android,android-custom-view,classcastexception,Android,Android Custom View,Classcastexception,当我创建一个自定义视图时,在某些情况下,我需要为活动类转换通过构造函数传递的上下文类,以便直接在我的自定义视图类中执行一些任务,如充气视图,我得到以下错误: java.lang.ClassCastException: com.android.layoutlib.bridge.android.BridgeContext cannot be cast to android.app.Activity 这是引发此错误的行: View headerView = ((Activity) context).

当我创建一个自定义
视图
时,在某些情况下,我需要为
活动
类转换通过构造函数传递的
上下文
类,以便直接在我的自定义
视图
类中执行一些任务,如充气
视图
,我得到以下错误:

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编辑器中显示的视图时(而不是在运行时),才会发生此错误

有人知道怎么修吗


提前感谢。

将呼叫更改为以下内容。获取类强制转换异常的原因是BridgeContext不是Activity类型

View headerView = LayoutInflater.from(context).inflate(R.layout.fragment_history_list_header, null);

我也有类似的问题<代码>如果(((活动)getContext()).isTaskRoot())是导致我的问题的那一行,您(也非常有用)的充气机修复程序无法解决该问题。如果我找到解决办法,我会回来的……你找到解决办法了吗@威利阿姆,绿头鸭,谢谢你。更多的是小林丸的事。我只在Eclipse中的ADT图形编辑器中看到了桥接上下文问题,并猜测错误来自试图执行自定义视图代码的编辑器,而不是我运行应用程序时遇到的无法充气问题(结果是一个简单的昏昏欲睡的打字:()。为了仍然使用布局编辑器,我使用了
if(!View.isInEditMode()){}
来包围任何上下文相关的代码。预览并不漂亮,但它让我仍然可以看到其他控件。谢谢@William t.Mallard。解决方案是用if(!View.isInEditMode()){}包围自定义活动。这让我发疯了。