1

我动态获取屏幕高度的代码:

Display display = ((Activity) getContext()).getWindowManager().getDefaultDisplay();
    Point size = new Point();
    display.getSize(size);
    int width = size.x;
    int height = size.y;

错误:错误:java.lang.ClassCastException:android.app.Application 完整日志猫: http: //pastebin.com/8zUNFUYn

编辑:将代码更改为:

Display display =  (activity).getWindowManager().getDefaultDisplay();

        Point size = new Point();
        display.getSize(size);
        int width = size.x;
        int height = size.y;

工作但是,给出了一个新错误,即 display.getSize(size) is not a method。该 API 是否已弃用?

4

2 回答 2

2

语境

是 Application 和 Activity 的基类。由于您使用 获取应用程序getContext(),因此将其转换ActivityClassCastExecption.

于 2012-04-14T11:44:05.017 回答
1

用这个替换你的行:

如果您在活动中使用此代码,请使用以下代码:

Display display = this.getContext().getWindowManager().getDefaultDisplay();
于 2012-04-14T11:34:50.853 回答