在Android Studio中,我有点困惑。我没有在Eclipse中看到过这种错误。Android Studio中的方法调用highlighed错误
实施例:
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction tf = fragmentManager.beginTransaction();
Fragment oldFragment = fragmentManager.findFragmentByTag(AddDialogFragment.TAG);
此代码工作正常,但fragmentManager.beginTransaction();突出显示并说: 方法调用'fragmentManager.beginTransaction'可能会产生'java.lang.NullPointerException'更少...(Ctrl + F1)
此检查报告指定检查范围内始终为true的条件或假,并根据代码的数据流分析指出可能抛出RuntimeException的位置。此检查还会报告Nullable/NotNull合同违规。可以配置支持合同的注释(默认@nullable/@NotNull将使用来自annotations.jar的注释)
我必须检查Null吗?
FragmentManager fragmentManager = getFragmentManager();
if(fragmentManager != null)
FragmentTransaction tf = fragmentManager.beginTransaction();
Fragment oldFragment = fragmentManager.findFragmentByTag(AddDialogFragment.TAG);
我从来没有在任何啧啧或例子之前见过这个。 如果这是一个愚蠢的问题比遗憾,但我仍然是一个初学者:) 。
为了为了避免NPE,你必须检查返回的参考是否为空 – Blackbelt