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 或其他期间初始化它来解决这个问题,但这只会删除警告...
问题:
- 是指Activity using getActivity 不行吗?最佳做法是什么?
- 这是我可以忽略的 AS 中的 'bug' 吗?
Fragment
中的 getActivity()
获得了支持库 27.0.0 的 @Nullable
注释。感谢杰克。这意味着现在可以按预期工作,因为它可以 return null.
升级我的项目以使用 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 或其他期间初始化它来解决这个问题,但这只会删除警告...
问题:
- 是指Activity using getActivity 不行吗?最佳做法是什么?
- 这是我可以忽略的 AS 中的 'bug' 吗?
Fragment
中的 getActivity()
获得了支持库 27.0.0 的 @Nullable
注释。感谢杰克。这意味着现在可以按预期工作,因为它可以 return null.