首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android: com.android.layoutlib.bridge.android.BridgeContext : java.lang.ClassCastException: java.lang.ClassCastException不能转换为android.app.Activity“

Android: com.android.layoutlib.bridge.android.BridgeContext : java.lang.ClassCastException: java.lang.ClassCastException不能转换为android.app.Activity“
EN

Stack Overflow用户
提问于 2017-02-21 11:34:06
回答 2查看 1.4K关注 0票数 1

这些都是详细的问题:

代码语言:javascript
运行
复制
java.lang.ClassCastException: com.android.layoutlib.bridge.android.BridgeContext cannot be cast to android.app.Activity
at io.jchat.android.view.LoginView.onMeasure_Original(LoginView.java:123);
at io.jchat.android.view.LoginView.onMeasure(LoginView.java) ;

我的代码是:

代码语言:javascript
运行
复制
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {

    int height = MeasureSpec.getSize(heightMeasureSpec);
    mContext = getContext();
    Activity activity = (Activity)mContext;
        activity.getWindow().getDecorView().getWindowVisibleDisplayFrame(rect);

    int statusBarHeight = rect.top;

    activity.getWindowManager().getDefaultDisplay().getMetrics(dm);

    int screenHeight = dm.heightPixels;
    int diff = (screenHeight - statusBarHeight) - height;

    if(mListener != null){
        mListener.onSoftKeyboardShown(diff);
    }
    super.onMeasure(widthMeasureSpec, heightMeasureSpec);
}

作为一名新生,我渴望得到你的帮助。谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-02-21 15:26:26

代码语言:javascript
运行
复制
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {

    int height = MeasureSpec.getSize(heightMeasureSpec);

    int resourceId = getResources().getIdentifier("status_bar_height", "dimen", "android");

    int statusBarHeight = 0;
    if (resourceId > 0) {

         statusBarHeight = getResources().getDimensionPixelSize(resourceId);
    }

    dm = getResources().getDisplayMetrics();

    int screenHeight = dm.heightPixels;
    int diff = (screenHeight - statusBarHeight) - height;
    if(mListener != null){
        mListener.onSoftKeyboardShown(diff);
    }
    super.onMeasure(widthMeasureSpec, heightMeasureSpec);
}
票数 1
EN

Stack Overflow用户

发布于 2017-02-21 11:46:39

com.android.layoutlib.bridge.android.BridgeContext不扩展android.app.Activity,这是执行转换所需的条件的。请检查这些类之间的关系。Activity activity = (Activity)mContext;不起作用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42366172

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档