Android 对 activity 的引用的 Studio 3.0 lint 警告

Android Studio 3.0 lint warnings for references to activity

升级我的项目以使用 API Studio 3.0 和 API 级别 27.0.0 (Android 8.1) 后,我收到很多与使用 getActivity() 在片段中(我认为完全正确)。

示例:

((AppCompatActivity) getActivity()).setSupportActionBar(toolbar);

getActivity().getMenuInflater().inflate(R.menu.pavingreport_dialog_menu, menu);

两个示例都抱怨空异常。

示例:

Method invocation 'getMenuInflater' may produce 'java.lang.NullPointerException'

我知道我可以通过添加 activity 作为字段并在 onCreate 或其他期间初始化它来解决这个问题,但这只会删除警告...

问题:

  1. 是指Activity using getActivity 不行吗?最佳做法是什么?
  2. 这是我可以忽略的 AS 中的 'bug' 吗?
Fragment 中的

getActivity() 获得了支持库 27.0.0 的 @Nullable 注释。感谢杰克。这意味着现在可以按预期工作,因为它可以 return null.