我在 Android Studio 中有点困惑。我之前没有在 Eclipse 中看到过这种错误。
例子:
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction tf = fragmentManager.beginTransaction();
Fragment oldFragment = fragmentManager.findFragmentByTag(AddDialogFragment.TAG);
这段代码工作正常,但 fragmentManager.beginTransaction(); 突出显示并说:方法调用'fragmentManager.beginTransaction'可能会产生'java.lang.NullPointerException'少......(Ctrl + F1)
此检查报告指定检查范围内始终为真或假的条件,并根据代码的数据流分析指出可能引发 RuntimeException 的位置。此检查还报告 Nullable/NotNull 合同违规。可以配置支持合约的注解(默认使用来自 annotations.jar 的 @Nullable/@NotNull 注解)
我必须先检查 Null 吗?
FragmentManager fragmentManager = getFragmentManager();
if(fragmentManager != null)
FragmentTransaction tf = fragmentManager.beginTransaction();
Fragment oldFragment = fragmentManager.findFragmentByTag(AddDialogFragment.TAG);
我以前从未在任何 Tut 或示例中看到过这一点。如果这是一个比对不起更愚蠢的问题,但我仍然是初学者:)。