为什么WindowManager.getdefaultdisplay()警告出现空指针异常?

时间:2018-11-20 18:11:02

标签: android android-studio

以下是我在Android Studio中拥有的一些代码。 Android Studio警告说getdefaultdisplay()可能会引发空指针异常。

windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
display = windowManager.getDefaultDisplay();
layoutInflater = LayoutInflater.from(context);
actions = new ArrayList<>();

但是,当我翻转第3行和第2行...时,它不再发出警告。这些行是无关的……为什么会这样?

windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
layoutInflater = LayoutInflater.from(context);
display = windowManager.getDefaultDisplay();
actions = new ArrayList<>();

1 个答案:

答案 0 :(得分:1)

任何警告NullPointerException的方法都标记为@Nullable,这意味着它可能返回null,因此在使用前,您需要检查getDefaultDisplay()方法的结果为了确保代码不会由于NullPointerException

而崩溃
Display display = windowManager.getDefaultDisplay()
if(display != null) {
    // do what you need here
}