Ошибка вызова метода с высокой степенью сложности в Android Studio

Im немного запутался в Android Studio. Раньше я видел такие ошибки в Eclipse.

Пример:

FragmentManager fragmentManager = getFragmentManager(); FragmentTransaction tf = fragmentManager.beginTransaction(); Fragment oldFragment = fragmentManager.findFragmentByTag(AddDialogFragment.TAG); 

Этот код работает нормально, но fragmentManager.beginTransaction (); Подсвечивается и говорит: метод invocation «fragmentManager.beginTransaction» может вызывать «java.lang.NullPointerException» меньше … (Ctrl + F1)

Эта инспекция сообщает об этих условиях в указанной области проверки, которые всегда являются истинными или ложными, а также указывает, где может быть выбрано исключение RuntimeException, на основе анализа потока данных кода. Эта проверка также сообщает о нарушениях Nullable / NotNull. Аннотации для поддержки контракта могут быть настроены (по умолчанию будут использоваться @ Nullable / @ NotNull аннотации из annotations.jar)

Должен ли я сначала проверять Null?

  FragmentManager fragmentManager = getFragmentManager(); if(fragmentManager != null) FragmentTransaction tf = fragmentManager.beginTransaction(); Fragment oldFragment = fragmentManager.findFragmentByTag(AddDialogFragment.TAG); 

Я никогда не видел этого ни в одном Тут или в Примере раньше. Если это глупый вопрос, чем извините, но я все же новичок :).

Solutions Collecting From Web of "Ошибка вызова метода с высокой степенью сложности в Android Studio"

Из того, что я видел, Android Studio показывает слишком много предупреждений о потенциальных NullPointerExceptions , даже для тех методов, которые никогда не вернут null. Я просто игнорирую некоторые из них, но полезно тщательно проверить их все, потому что иногда я пропустил важный.

Если вы посмотрите на исходный код Android, легко увидеть, что getFragmentManager() никогда не вернет null:

 public FragmentManager getFragmentManager() { return mFragments; } 

Где mFragments присваивается только один раз через весь класс:

 final FragmentManagerImpl mFragments = new FragmentManagerImpl();