Android studio 亮度,Android Studio中的方法调用高亮度错误

我在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)

此检查报告指定检查范围中始终为true或false的条件,并根据代码的数据流分析指出可能抛出RuntimeException的位置。 此检查还报告Nullable / NotNull合同违规。 可以配置支持合同的注释(默认情况下,@ Nullable / @NotNull将使用annotations.jar中的注释)

我以前要检查Null吗?

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

我以前从未在任何Tut或例子中看过这个。 如果这是一个愚蠢的问题而不是抱歉,但我还是初学者:)。

从我所看到的,Android Studio显示有关潜在NullPointerExceptions警告,即使对于永远不会返回null的方法。 我只是忽略了其中的一些,但仔细检查所有这些是有用的,因为有时我错过了一个重要的。

如果你看一下android源代码,很容易看到getFragmentManager()永远不会返回null:

public FragmentManager getFragmentManager() { return mFragments; }

mFragments只在整个类中分配一次:

final FragmentManagerImpl mFragments = new FragmentManagerImpl();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值