以下是我在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<>();
答案 0 :(得分:1)
任何警告NullPointerException
的方法都标记为@Nullable
,这意味着它可能返回null
,因此在使用前,您需要检查getDefaultDisplay()
方法的结果为了确保代码不会由于NullPointerException
Display display = windowManager.getDefaultDisplay()
if(display != null) {
// do what you need here
}