NoSuchMethodError:getSize

时间:2012-09-28 11:21:31

标签: android

我有以下代码来查找屏幕大小:

WindowManager wm = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE);
    Point size = new Point();
    int measuredWidth = 0;
    int measuredHeight = 0;

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
        wm.getDefaultDisplay().getSize(size);

        measuredWidth = size.x;
        measuredHeight = size.y;
    } else {
        Display display = wm.getDefaultDisplay();

        measuredWidth = display.getWidth();
        measuredHeight = display.getHeight();
    }

在Galaxy gio(2.3.6)上有效,但在星系标签10.1(3.0)上会崩溃。

wm.getDefaultDisplay().getSize(size);

在这一行我得到了

  

NoSuchMethodError:android.view.Display.getSize。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

我已经找到它了,我认为自HoneyComb(api 11)以来getSize()方法可用,但它实际上只能从Honeycomb MR2(api 13)开始使用。

答案 1 :(得分:0)

getSize()是自API 13 docs

以来

您可能在具有旧版本的设备上运行此功能。

尝试getHeight()和getWidth()。