使用 WindowManager 时,类抛出异常

下面的代码是动态的获取屏幕高度

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

得到的错误:Error: java.lang.ClassCastException: android.app.Application Complete log cat: 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) 不是一个方法。是API不起作用了吗?

1) 第一段代码中你的 Context 不是 Activity 而是 Application, 所以强制类型转换错误

2) Display.getSize(Point outSize) 方法是 API Level 13 的, 即只有在 Android 3.2 及以上才有.

import android.view.Display;