我动态获取屏幕高度的代码:
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)不是一个方法。该API是否已被删除?
答案 0 :(得分:2)
上下文
是Application和Activity的基类。由于您使用getContext()
获取应用,因此将其转换为Activity
会导致ClassCastExecption
。
答案 1 :(得分:1)
用这个替换你的行:
如果您在活动中使用此代码,请使用此:
Display display = this.getContext().getWindowManager().getDefaultDisplay();